Table of Contents
Cómo funciona RIGHT JOIN en SQL con ejemplos prácticos
En este artículo aprenderás de manera sencilla qué es RIGHT JOIN en SQL, cómo funciona y en qué casos conviene usarlo.
¿Qué hace RIGHT JOIN en SQL?
La sentencia RIGHT JOIN devuelve:
- ✅ Todos los registros de la tabla de la derecha.
- ✅ Solo los registros coincidentes de la tabla de la izquierda.
- ⚠️ Cuando no hay coincidencia, los valores de la tabla izquierda se rellenan con
NULL.
Es muy útil cuando queremos asegurarnos de traer siempre todos los datos de una tabla principal, aunque no existan coincidencias en la otra.
Creación de la base de datos y tablas
Para entender mejor, usemos un ejemplo de una tienda de ropa.
-- Crear base de datos
CREATE DATABASE IF NOT EXISTS tienda_ropa;
USE tienda_ropa;
-- Tabla clientes
CREATE TABLE clientes (
id INT PRIMARY KEY,
nombre VARCHAR(100)
);
-- Tabla pedidos
CREATE TABLE pedidos (
id INT PRIMARY KEY,
id_cliente INT,
producto VARCHAR(100),
FOREIGN KEY (id_cliente) REFERENCES clientes(id)
);
Insertamos algunos datos:
INSERT INTO clientes (id, nombre)
VALUES (1, 'Carlos'), (2, 'María');
INSERT INTO pedidos (id, id_cliente, producto)
VALUES (1, 1, 'Zapatos'), (2, 3, 'Camisa');
Ejemplo de RIGHT JOIN
SELECT
c.id AS cliente_id,
c.nombre,
p.id AS pedido_id,
p.producto
FROM pedidos p
RIGHT JOIN clientes c ON p.id_cliente = c.id;
🔹 Explicación:
c.id, c.nombre→ muestra los datos de clientes.p.id, p.producto→ muestra los pedidos.RIGHT JOINasegura que todos los clientes aparezcan aunque no tengan pedidos.
👉 Si un cliente no tiene pedidos, en la columna de pedidos aparecerá NULL.
Eliminando valores NULL
Si quieres mostrar solo los clientes que sí tienen pedidos:
SELECT
c.id,
c.nombre,
p.id AS pedido_id,
p.producto
FROM pedidos p
RIGHT JOIN clientes c ON p.id_cliente = c.id
WHERE p.id IS NOT NULL;

Diferencia entre RIGHT JOIN y LEFT JOIN
- LEFT JOIN → Muestra todos los registros de la tabla izquierda.
- RIGHT JOIN → Muestra todos los registros de la tabla derecha.
Ambas sentencias son equivalentes si cambias el orden de las tablas, pero se suele preferir LEFT JOIN porque es más común y legible.
📹 Demostración en vídeo:
Preguntas frecuentes (FAQ) sobre RIGHT JOIN en SQL
¿Para qué sirve RIGHT JOIN?
Sirve para asegurar que siempre aparezcan todos los registros de la tabla de la derecha, incluso si no hay coincidencias en la izquierda.
¿Qué diferencia hay entre RIGHT JOIN e INNER JOIN?
- INNER JOIN devuelve solo coincidencias.
- RIGHT JOIN devuelve todas las filas de la tabla derecha, aunque no haya coincidencias.
¿Se puede usar RIGHT JOIN con más de dos tablas?
Sí, puedes encadenar varios RIGHT JOIN, aunque en la práctica se suele preferir LEFT JOIN para mantener un orden más natural en las consultas.
¿Cuál es mejor, LEFT JOIN o RIGHT JOIN?
La funcionalidad es la misma, pero en la práctica casi siempre se usa LEFT JOIN, ya que es más intuitivo y estándar. RIGHT JOIN es útil en casos concretos donde la tabla principal está a la derecha.
El RIGHT JOIN en SQL es una herramienta útil para unir tablas asegurando que todos los registros de la tabla derecha aparezcan, incluso si no tienen coincidencias en la izquierda.
Con este tipo de consultas puedes obtener informes más completos y detectar datos sin correspondencia.
Seguir leyendo:






