Puedes ejecutar cualquier JOIN en nuestra consola interactiva: Abrir consola SQL →
RIGHT JOIN en SQL: incluye todos los registros de la tabla derecha
RIGHT JOIN devuelve todas las filas de la tabla derecha, aunque no tengan coincidencia en la tabla izquierda. Es menos usado que LEFT JOIN, pero es útil cuando la tabla derecha es la principal del análisis.
Tabla de contenidos
1. ¿Qué es RIGHT JOIN?
RIGHT JOIN devuelve todas las filas de la tabla derecha, incluso si no tienen coincidencia en la tabla izquierda. Las filas sin coincidencia mostrarán valores NULL en las columnas de la tabla izquierda.
SELECT u.nombre, p.producto
FROM usuarios u
RIGHT JOIN pedidos p ON u.id = p.usuario_id;
2. Sintaxis de RIGHT JOIN
SELECT columnas
FROM tabla1
RIGHT JOIN tabla2
ON tabla1.columna = tabla2.columna;
3. Ejemplo básico
SELECT u.nombre, p.producto
FROM usuarios u
RIGHT JOIN pedidos p
ON u.id = p.usuario_id;
4. Detectar filas sin coincidencias
RIGHT JOIN permite detectar registros en la tabla derecha sin relación en la izquierda.
SELECT p.producto
FROM usuarios u
RIGHT JOIN pedidos p
ON u.id = p.usuario_id
WHERE u.id IS NULL;
-- Pedidos sin usuario asociado
5. RIGHT JOIN con múltiples tablas
SELECT p.producto, u.nombre, c.ciudad
FROM usuarios u
RIGHT JOIN pedidos p ON u.id = p.usuario_id
RIGHT JOIN ciudades c ON p.ciudad_id = c.id;
6. RIGHT JOIN con condiciones adicionales
SELECT u.nombre, p.producto
FROM usuarios u
RIGHT JOIN pedidos p
ON u.id = p.usuario_id
AND p.estado = 'Pendiente';
7. Ejemplos prácticos
SELECT e.nombre, d.nombre AS departamento
FROM empleados e
RIGHT JOIN departamentos d ON e.depto_id = d.id;
SELECT p.producto, c.nombre AS categoria
FROM productos p
RIGHT JOIN categorias c ON p.categoria_id = c.id;
SELECT p.producto, u.nombre
FROM usuarios u
RIGHT JOIN pedidos p ON u.id = p.usuario_id
WHERE u.nombre IS NULL;
-- Pedidos sin usuario
8. Ejercicios para practicar
- Haz un RIGHT JOIN entre usuarios y pedidos.
- Obtén pedidos sin usuario asociado.
- Haz un RIGHT JOIN entre productos y categorías.
- Haz un RIGHT JOIN múltiple entre usuarios, pedidos y ciudades.
- Explica para qué sirve RIGHT JOIN.
SELECT u.nombre, p.producto
FROM usuarios u
RIGHT JOIN pedidos p ON u.id = p.usuario_id;
SELECT p.producto
FROM usuarios u
RIGHT JOIN pedidos p ON u.id = p.usuario_id
WHERE u.id IS NULL;
SELECT p.nombre, c.nombre
FROM productos p
RIGHT JOIN categorias c ON p.categoria_id = c.id;
SELECT p.producto, u.nombre, c.ciudad
FROM usuarios u
RIGHT JOIN pedidos p ON u.id = p.usuario_id
RIGHT JOIN ciudades c ON p.ciudad_id = c.id;
-- RIGHT JOIN sirve para incluir todas las filas de la tabla derecha.
9. Mini‑proyecto: Pedidos sin usuario
SELECT p.producto
FROM usuarios u
RIGHT JOIN pedidos p ON u.id = p.usuario_id
WHERE u.id IS NULL;
10. Errores comunes
- Confundir RIGHT JOIN con LEFT JOIN.
- No usar IS NULL para detectar filas sin coincidencias.
- Unir columnas incorrectas.
- Olvidar alias en consultas largas.
11. Preguntas frecuentes
¿RIGHT JOIN es común?
No tanto como LEFT JOIN, pero es útil cuando la tabla derecha es la principal.
¿Puedo unir más de dos tablas?
Sí, puedes unir tantas como necesites.