¿Sabes que es un Left Join en SQL y cómo funciona?
La sentencia del SQL JOIN es uno de los componentes principales de la sentencia Select, que se utiliza para extraer datos del SQL Server. Sirven para combinar filas de dos o más tablas basándose en un campo común entre ellas. En este post, te compartiremos el funcionamiento de Left Join en SQL.
Funcionamiento de Left Join
La cláusula Left Join en SQL te permite consultar datos de varias tablas. Devuelve todas las filas de la tabla de la izquierda y las filas coincidentes de la tabla de la derecha. Si no se encuentran filas que coincidan en la tabla de la derecha, se utilizan NULL. Otras cláusulas que se pueden utilizar para hacer combinaciones entre tablas son Inner Join y Right Join.
A continuación, mostramos cómo unir dos tablas T1 y T2 mediante la cláusula Left Join en SQL:
//join sql ejemplos
//join en mysql
SELECT
select_list
FROM
T1
LEFT JOIN T2 ON
join_predicate;
En esta sintaxis join sql, T1 y T2 son las tablas izquierda y derecha, respectivamente. Para cada fila de la tabla T1, la consulta las compara con todas las filas de la tabla T2. Si un par de filas hacen que el predicado de combinación se evalúe como VERDADERO, los valores de columna de estas filas se combinarán para formar una nueva fila que luego se incluirá en el conjunto de resultados.
Si una fila de la tabla de la izquierda (T1) no tiene ninguna fila coincidente de la tabla T2, la consulta combina los valores de columna de la fila de la tabla de la izquierda con NULL para los valores de cada columna de la tabla de la derecha.
En resumen, la cláusula Left Join en SQL devuelve todas las filas de la tabla izquierda (T1) y las filas coincidentes o valores NULL de la tabla derecha (T2).
Ejemplo de Left Join en SQL
Tabla personas, con la clave primaria “per”.
per | nombre | apellido1 | apellido2 | dep |
1 | ANTONIO | PEREZ | GOMEZ | 1 |
2 | ANTONIO | GARCIA | RODRIGUEZ | 2 |
3 | PEDRO | RUIZ | GONZALEZ | 4 |
Tabla “departamentos”, con la clave primaria “dep”.
dep | departamento |
1 | ADMINISTRACION |
2 | INFORMATICA |
3 | COMERCIAL |
SELECT nombre, apellido1, departamento
FROM personas
LEFT JOIN departamentos
WHERE personas.dep = departamentos.dep
nombre | apellido1 | departamento |
ANTONIO | PEREZ | ADMINISTRACION |
ANTONIO | GARCIA | INFORMATICA |
PEDRO | RUIZ |
Aunque el departamento “4” de PEDRO RUIZ no existe en la tabla de departamentos, devolverá la fila con esa columna “departamento” en blanco.
Ahora que te hemos explicado el funcionamiento de Left Join en SQL y te hemos mostrado algunos ejemplos, es un buen momento para continuar aprendiendo. Si quieres saber más sobre bases de datos, te proponemos nuestro Bootcamp Full Stack Big Data, Inteligencia Artificial & Machine Learning. Con este Bootcamp desarrollarás un amplio conocimiento de estadística teniendo en cuenta que el análisis exploratorio de datos es el primer paso que todo Data Scientist debe tomar. ¡No esperes más para empezar!