Left Join es una de las palabras clave utilizadas al escribir consultas en SQL. En SQL, normalmente usamos Join con el fin de formar una nueva tabla extrayendo datos comunes como filas, registros o tuplas de ambas tablas que tienen registros coincidentes en general.
Aquí, cuando se trata de Left Join en SQL, solo devuelve todos los registros, tuplas o filas de la tabla de la izquierda y solo los registros que coinciden con la tabla de la derecha.
Sintaxis para la combinación izquierda:
SELECT column names FROM table1 LEFT JOIN table2 ON table1.matching_column = table2.matching_column;
Nota: Por ejemplo, si tiene una tabla izquierda con 10 filas, se garantiza que tendrá al menos 10 filas después de aplicar la operación de combinación en dos tablas.
Considere dos tablas:
1. Empleado (Mesa Izquierda) :
Emp_Id | Primer nombre | Apellido | Género | Años | Fecha_de_unión |
---|---|---|---|---|---|
1 | pranay | Thanneru | METRO | 45 | 2000-10-09 |
2 | Santhosh | prabhu | METRO | 48 | 1999-07-10 |
3 | María | clara | F | 34 | 2008-08-26 |
4 | jane | Vatsal | F | 30 | 2006-02-31 |
5 | Hardik | prabhu | METRO | 22 | 2012-07-23 |
2. Proyectos (Tabla derecha):
identificación | fecha | Proyecto No | Emp_id | No_de_horas_trabajadas |
---|---|---|---|---|
1 | 2005-03-15 | 147 | 3 | 162 |
2 | 2005-03-16 | 232 | 2 | 192 |
3 | 2005-03-17 | 276 | 1 | 198 |
Para unir estas dos tablas y obtener información común necesitamos usar la siguiente consulta
SELECT E.Emp_id, E.First_Name, E.Last_Name, E.Gender, E.age, E.Date_of_join, P.date AS Project_Assigned_date, P.No_of_hours_worked AS hours_worked FROM Employee E LEFT JOIN Projects P ON E.Emp_id = P.Emp_id GROUP BY E.Emp_id;
Después de la ejecución de la consulta, la tabla obtenida será como:
Emp_Id | Primer nombre | Apellido | Género | Años | Fecha_de_unión | Proyecto_Asignado_fecha | horas trabajadas |
---|---|---|---|---|---|---|---|
1 | pranay | Thanneru | METRO | 45 | 2000-10-09 | 2005-03-17 | 198 |
2 | Santhosh | prabhu | METRO | 48 | 1999-07-10 | 2005-03-16 | 192 |
3 | María | clara | F | 34 | 2008-08-26 | 2005-03-15 | 162 |
4 | jane | Vatsal | F | 30 | 2006-02-31 | [NULO] | [NULO] |
5 | Hardik | prabhu | METRO | 22 | 2012-07-23 | [NULO] | [NULO] |
- Una vez después de obtener la tabla, puede ver que Emp_id que no está asignado para un proyecto cuyo Project_Assigned_date se ha convertido en NULL y No_of_hours_worked también se convirtió en NULL porque el empleado no ha asignado nada que hacer.
- Aquí Left Join significa en el sentido basado en las tablas anteriores, tomó datos de las filas de la tabla que coinciden y también devolvió los valores para las filas cuyos datos no están presentes en la Tabla 2 como NULL porque necesitamos considerar todos los datos de Mesa izquierda.
Múltiples LEFT JOIN en una consulta:
A veces es necesario LEFT JOIN en más de dos tablas para obtener los datos necesarios para análisis específicos. Afortunadamente, la palabra clave LEFT JOIN se puede usar con MÚLTIPLES TABLAS en SQL.
Considere una tabla llamada Salario:
identificación | Emp_id | Salario_Inc | Fecha |
---|---|---|---|
1 | 5 | 50000 | 2015-01-01 |
2 | 1 | 65000 | 2015-01-01 |
3 | 2 | 55000 | 2015-01-01 |
Aquí combinamos los datos de estas tablas Empleado, Proyectos y Salario.
Para hacer esto, la consulta debe escribirse en el siguiente formato:
SELECT E.Emp_id, E.First_Name, E.Last_Name, E.Gender, E.age, E.Date_of_join, P.No_of_hours_worked AS hours_worked, S.Salary_inc AS Salary_Increment FROM Employee E LEFT JOIN Projects P ON E.Emp_id = P.Emp_id LEFT JOIN Salary S ON E.Emp_id = S.Emp_id;
Y la tabla resultante se ve después de múltiples Left Join :
Emp_id | Primer nombre | Apellido | Género | años | Fecha_de_unión | horas trabajadas | Incremento de salario |
---|---|---|---|---|---|---|---|
1 | pranay | Thanneru | METRO | 45 | 2000-10-09 | 198 | 65000 |
2 | Santhosh | prabhu | METRO | 48 | 1999-07-10 | 192 | 55000 |
3 | María | clara | F | 34 | 2008-08-26 | 162 | [NULO] |
4 | jane | Vatsal | F | 30 | 2006-02-31 | [NULO] | [NULO] |
5 | Hardik | prabhu | METRO | 22 | 2012-07-23 | [NULO] | 50000 |
Por lo tanto, puede ver que hemos combinado los datos de tres tablas en una sola tabla usando Left Join varias veces.
Considere una tabla más llamada Experiencia:
identificación | Emp_nombre | Experiencia |
---|---|---|
1 | pranay | 5 |
2 | Santhosh | 4 |
3 | María | 3 |
Aquí combinamos los datos de estas tablas Empleado, Proyectos y Experiencia.
Para hacer esto, la consulta debe escribirse en el siguiente formato:
SELECT E.Emp_id, E.First_Name, E.Last_Name, P.date AS Project_Assigned_date, E1.Experience AS EXP FROM Employee E LEFT JOIN Projects P ON E.Emp_id = P.Emp_id LEFT JOIN Experience E1 ON E.Emp_id = E1.id;
Y la tabla resultante se ve después de varias uniones izquierdas:
Emp_id | Primer nombre | Apellido | Proyecto_Asignado_fecha | Exp |
---|---|---|---|---|
1 | pranay | Thanneru | 2005-03-17 | 5 |
2 | Santhosh | prabhu | 2005-03-16 | 4 |
3 | María | clara | 2005-03-15 | 3 |
4 | jane | Vatsal | [NULO] | [NULO] |
5 | Hardik | prabhu | [NULO] | [NULO] |
Como puede ver, LEFT JOIN en SQL se puede usar con varias tablas.
Publicación traducida automáticamente
Artículo escrito por pranaythanneru y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA