RIGHT JOIN en SQL

La cláusula RIGHT JOIN en SQL devuelve todas las filas de la tabla derecha y, cuando existe coincidencia, los datos de la tabla izquierda. Si no hay pareja, las columnas de la izquierda aparecen como NULL .

RIGHT JOIN en SQL es una pieza habitual del flujo SQL: consultar, filtrar, agrupar o modificar datos. Cada ejemplo usa tablas de demostración para que puedas experimentar sin riesgo.

Cómo practicar: ejecuta la consulta tal cual, revisa columnas y tipos, luego cambia un filtro o un alias y vuelve a ejecutar.

RIGHT JOIN en SQL es una pieza habitual del flujo SQL: consultar, filtrar, agrupar o modificar datos. Cada ejemplo usa tablas de demostración para que puedas experimentar sin riesgo.

Cómo practicar: ejecuta la consulta tal cual, revisa columnas y tipos, luego cambia un filtro o un alias y vuelve a ejecutar.

Es el espejo de LEFT JOIN : en LEFT JOIN se conserva la tabla izquierda; en RIGHT JOIN , la derecha. Muchos motores permiten obtener el mismo resultado invirtiendo el orden de las tablas con LEFT JOIN .


Sintaxis RIGHT JOIN en SQL

La sintaxis indica el orden de argumentos y palabras clave. Copia la plantilla y sustituye nombres de columnas o literales entre comillas simples.

Plantilla

    SELECT columna1, columna2, ...
FROM tabla_izquierda
RIGHT JOIN tabla_derecha
           ON tabla_izquierda.clave = tabla_derecha.clave;
  
Diagrama RIGHT JOIN: todas las filas de la Tabla B más las coincidencias de la Tabla A
Con RIGHT JOIN , la tabla escrita a la derecha del JOIN siempre aparece completa.

Ejemplo RIGHT JOIN en SQL

Para listar todos los clientes y su pedido (si lo tienen), ponemos Clientes a la derecha del JOIN :

Nombre de cliente e ID de pedido

    SELECT Clientes.Nombre_Cliente, Pedidos.ID_Pedido
FROM Pedidos
RIGHT JOIN Clientes ON Pedidos.ID_Cliente = Clientes.ID_Cliente
ORDER BY Clientes.Nombre_Cliente;
  
Abrir en editor

Resultado: diez filas (todos los clientes); donde no hay pedido, ID_Pedido es NULL .

Nombre_ClienteID_Pedido
Ana García1
Carlos RuizNULL
Elena Torres3
… 7 filas más (10 en total)

Tablas demo para RIGHT JOIN

La unión usa ID_Cliente en ambas tablas:

Tabla Pedidos (demo)

Observa qué columnas devuelve la consulta y cómo se nombran con AS. Ese alias es lo que verás en la cuadrícula del editor.

ID_Pedido ID_Cliente ID_Empleado Fecha
1112024-01-15
2322024-01-18
3512024-02-02
4232024-02-10
5642024-02-14
Tabla Pedidos en el editor SQL. Cinco pedidos enlazan clientes y empleados.
ID_Cliente Nombre_Cliente Ciudad Pais
1Ana GarcíaMadridEspaña
2Luis PérezBarcelonaEspaña
3María LópezValenciaEspaña
4Carlos RuizMadridEspaña
6John SmithLondonUK
… 5 clientes más en la demo (10 en total)
Tabla Clientes (extracto). Diez clientes; cinco tienen pedidos.

RIGHT JOIN con Empleados y Pedidos

Misma idea con Empleados y Pedidos por ID_Empleado :

Empleado y pedido asignado

    SELECT Empleados.Nombre, Empleados.Apellido, Pedidos.ID_Pedido
FROM Pedidos
RIGHT JOIN Empleados ON Pedidos.ID_Empleado = Empleados.ID_Empleado
ORDER BY Empleados.Nombre;
  
Abrir en editor

RIGHT JOIN y filtro IS NULL

Tras un RIGHT JOIN , puedes usar WHERE … IS NULL para quedarte solo con filas de la tabla derecha sin pareja en la izquierda (por ejemplo, clientes sin pedidos):

Clientes sin ningún pedido

    SELECT Clientes.Nombre_Cliente
FROM Pedidos
RIGHT JOIN Clientes ON Pedidos.ID_Cliente = Clientes.ID_Cliente
WHERE Pedidos.ID_Pedido IS NULL
ORDER BY Clientes.Nombre_Cliente;
  
Abrir en editor

Resumen RIGHT JOIN

  • RIGHT JOIN conserva todas las filas de la tabla derecha.
  • Sin coincidencia, las columnas de la tabla izquierda son NULL .
  • Equivale a invertir tablas en un LEFT JOIN .
  • Siguiente paso: UNION para combinar resultados de varias consultas.

Cómo practicar en el editor

1. Pulsa Pruébalo tú mismo en un ejemplo.
2. Cambia un filtro, columna o literal.
3. Ejecuta y compara el resultado con la tabla de ejemplo.


Practica con ejercicios

Repasa la lección con consultas sobre Clientes (Elena Torres, Valencia…) y Productos (pera, mango, fresa) de nuestra base demo.

Ejercicio: Todos los clientes con sus pedidos

Practica RIGHT JOIN conservando todas las filas de Clientes. Usa la tabla Clientes de la demo (Elena Torres, Valencia…).

Consulta

    SELECT Clientes.Nombre_Cliente, Pedidos.ID_Pedido
FROM Pedidos
RIGHT JOIN Clientes ON Pedidos.ID_Cliente = Clientes.ID_Cliente
ORDER BY Clientes.Nombre_Cliente;
  
Abrir en editor

Ejercicio: Empleados y pedidos asignados

Practica RIGHT JOIN entre Pedidos y Empleados. Usa la tabla Clientes de la demo (Elena Torres, Valencia…).

Consulta

    SELECT Empleados.Nombre, Empleados.Apellido, Pedidos.ID_Pedido
FROM Pedidos
RIGHT JOIN Empleados ON Pedidos.ID_Empleado = Empleados.ID_Empleado
ORDER BY Empleados.Nombre;
  
Abrir en editor

Ejercicio: Clientes sin pedido

Filtra filas sin coincidencia tras un RIGHT JOIN. Usa la tabla Clientes de la demo (Elena Torres, Valencia…).

Consulta

    SELECT Clientes.Nombre_Cliente
FROM Pedidos
RIGHT JOIN Clientes ON Pedidos.ID_Cliente = Clientes.ID_Cliente
WHERE Pedidos.ID_Pedido IS NULL
ORDER BY Clientes.Nombre_Cliente;
  
Abrir en editor

Cómo practicar

1. Pulsa Ejecutar aquí en el bloque.
2. Modifica la consulta (filtro, columnas…).
3. O abre el editor para más espacio.

Comprueba lo aprendido

Responde 2–3 preguntas sobre esta lección. Verás ✓ en verde si aciertas o ✗ en rojo si fallas.