La sentencia LEFT JOIN combina los valores de la primera tabla con los valores de la segunda tabla. Siempre devolverá las filas de la primera tabla, incluso aunque no cumplan la condición.
SELECT * FROM tabla1
LEFT JOIN tabla2
WHERE tabla1.columna1 = tabla2.columna1
Ejemplo de SQL LEFT JOIN
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.