Sobes.tech
Junior

¿Cuáles son las diferencias entre la unión izquierda y la unión derecha (LEFT JOIN y RIGHT JOIN) en SQL?

sobes.tech AI

Respuesta de la IA

LEFT JOIN devuelve todas las filas de la tabla izquierda (primera) y las filas correspondientes de la derecha (segunda). Si no hay coincidencias en la tabla derecha, el resultado contiene NULL para las columnas de la tabla derecha.

RIGHT JOIN devuelve todas las filas de la tabla derecha (segunda) y las filas correspondientes de la izquierda (primera). Si no hay coincidencias en la tabla izquierda, el resultado contiene NULL para las columnas de la tabla izquierda.

La diferencia principal es qué tabla se considera "completa", es decir, de qué tabla se devolverán todas las filas independientemente de si hay coincidencias en la otra tabla.

Ejemplo en SQL:

Tabla TablaA:

ID ValorA
1 A1
2 A2
3 A3

Tabla TablaB:

ID ValorB
2 B2
3 B3
4 B4

LEFT JOIN:

SELECT *
FROM TablaA
LEFT JOIN TablaB ON TablaA.ID = TablaB.ID;

Resultado LEFT JOIN:

ID (de TablaA) ValorA ID (de TablaB) ValorB
1 A1 NULL NULL
2 A2 2 B2
3 A3 3 B3

RIGHT JOIN:

SELECT *
FROM TablaA
RIGHT JOIN TablaB ON TablaA.ID = TablaB.ID;

Resultado RIGHT JOIN:

ID (de TablaA) ValorA ID (de TablaB) ValorB
2 A2 2 B2
3 A3 3 B3
NULL NULL 4 B4

LEFT JOIN y RIGHT JOIN a menudo son intercambiables mediante el cambio del orden de las tablas en la consulta: A LEFT JOIN B es equivalente a B RIGHT JOIN A.