¿Qué es una unión izquierda (left join) en SQL?
sobes.tech AI
Respuesta de la IA
La unión izquierda (LEFT JOIN o LEFT OUTER JOIN) en SQL se utiliza para combinar filas de dos tablas.
El resultado de LEFT JOIN incluye:
- Todas las filas de la tabla izquierda (primera).
- Filas correspondientes de la tabla derecha (segunda), donde se cumple la condición de unión.
- Para las filas de la tabla izquierda que no tienen correspondencia en la derecha, las columnas de la tabla derecha contendrán valores
NULL.
Ejemplo de sintaxis:
SELECT <lista_de_columnas>
FROM <tabla_izquierda> AS L
LEFT JOIN <tabla_derecha> AS R ON L.<columna_de_union> = R.<columna_de_union>;
Modo de funcionamiento:
Se recorre cada fila de la tabla izquierda. Para cada fila, se busca correspondencia en la tabla derecha según la condición ON.
- Si se encuentran coincidencias, la fila de la tabla izquierda se combina con todas las filas correspondientes de la tabla derecha.
- Si no se encuentran coincidencias, la fila de la tabla izquierda se incluye en el resultado, y las columnas de la tabla derecha se llenan con
NULL.
Representación visual:
Imagina dos conjuntos de datos: Left (tabla izquierda) y Right (tabla derecha). LEFT JOIN devuelve todos los elementos de Left, así como aquellos de Right que tienen correspondencia en Left. Si en Left hay elementos sin correspondencia en Right, estos elementos de Left aún se incluirán en el resultado, pero los campos correspondientes de Right estarán vacíos (NULL).
Comparación con otros tipos de JOIN:
| Tipo de JOIN | Descripción |
|---|---|
| INNER JOIN | Devuelve solo las filas donde hay coincidencia entre ambas tablas. |
| LEFT JOIN | Devuelve todas las filas de la tabla izquierda y las filas coincidentes de la derecha. NULL para las filas sin coincidencia en la derecha. |
| RIGHT JOIN | Devuelve todas las filas de la tabla derecha y las filas coincidentes de la izquierda. NULL para las filas sin coincidencia en la izquierda. |
| FULL OUTER JOIN | Devuelve todas las filas cuando hay coincidencia en cualquiera de las tablas. NULL para las filas sin coincidencia en ambas tablas. |
Por lo tanto, LEFT JOIN es útil cuando se necesita obtener una lista completa de registros de una tabla y complementarlos con información de otra tabla, incluso si no todos los registros tienen datos correspondientes.