2024-07-11
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
En MySQL,LEFT JOIN
Se utiliza para devolver todos los registros de la tabla de la izquierda (es decir, la tabla a la izquierda de la palabra clave LEFT JOIN), incluso si no hay registros coincidentes en la tabla de la derecha. Para aquellos registros que no coinciden en la tabla derecha, la parte de la tabla derecha del conjunto de resultados se completará con NULL.acerca deON
yWHERE
El uso de cláusulas, están enLEFT JOIN
Los roles en son diferentes:
ON
más tarde.si enON
Existen restricciones condicionales adicionales en la tabla de la derecha más adelante, que también se aplicarán al conectarse, pero no afectarán el principio de devolver todos los registros de la tabla de la izquierda.JOIN
El conjunto de resultados generado por la operación se filtra aún más.Cuando se pone la condiciónWHERE
cláusula, aquellos registros que no cumplan con las condiciones (ya sea de la tabla de la izquierda o de la tabla de la derecha) se eliminarán, lo que puede afectar la intención original de devolver todos los registros de la tabla de la izquierda, especialmente cuando se trata de valores NULL, es necesario tenga mucho cuidado.Caso específico uno:
Supongamos que tenemos dos tablas, una esemployees
(mesa de empleados), la otra esdepartments
(tabla de departamentos), queremos conocer todos los empleados y los nombres de sus departamentos, incluso si algunos empleados no están asignados a un departamento específico.
tabla de empleados:
identificaciónentificación | nombre |
---|---|
1 | Alicia |
2 | Beto |
3 | Villancico |
tabla de departamentos:
identificaciónentificación | nombre |
---|---|
1 | HORA |
2 | ÉL |
3 | Marketing |
en,employees
mesadepartment_id
El campo puede ser NULL, indicando que no hay ningún departamento asignado.
Ejemplo de uso de ON:
SELECT employees.name, departments.name AS department_name
FROM employees
LEFT JOIN departments ON employees.department_id = departments.id;