Tema SQL
RIGHT JOIN
Conserva todas las filas del lado derecho de la unión y empareja las del izquierdo; sin coincidencia, las columnas izquierdas son NULL. Es simétrico de LEFT JOIN intercambiando tablas.
Descripción
RIGHT OUTER JOIN es menos frecuente en estilo de escritura porque el mismo resultado se obtiene con LEFT JOIN intercambiando el orden de las tablas, lo que muchos equipos consideran más legible. Úsalo cuando el modelo mental encaja naturalmente con «preservar la tabla derecha». La condición ON sigue las mismas reglas que en LEFT/INNER; WHERE sobre columnas del lado no preservado puede convertir el outer join en inner.
Estructura general
Forma habitual de la sentencia: orden de cláusulas, qué parte filtra, agrupa o proyecta columnas, y qué devuelve el motor. Cópiala como plantilla y sustituye nombres por tus tablas reales.
SELECT columnas
FROM tabla_izquierda a
RIGHT JOIN tabla_derecha b
ON condición;
Componentes
Cada componente tiene un papel concreto en la ejecución lógica de la sentencia. Léelos en orden: así entiendes qué puedes omitir, qué es obligatorio y qué expresiones son válidas en cada sitio según tu motor.
- RIGHT JOIN
- Mantiene filas de b aunque no haya fila en a que cumpla ON; columnas de a salen NULL en ese caso.
Ejemplos
Ejemplo 1
SELECT p.id, c.nombre
FROM pedidos p
RIGHT JOIN clientes c ON c.id = p.cliente_id;
Ejemplo 2
SELECT 1 AS x
FROM (SELECT 1) a
RIGHT JOIN (SELECT 2) b ON 1=1;
Los ejemplos son ilustrativos. En producción usa consultas parametrizadas (prepared statements), revisa índices y aplica el principio de menor privilegio en cuentas de base de datos.