2024-07-11
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Dans MySQL,LEFT JOIN
Utilisé pour renvoyer tous les enregistrements de la table de gauche (c'est-à-dire la table à gauche du mot-clé LEFT JOIN), même s'il n'y a aucun enregistrement correspondant dans la table de droite. Pour les enregistrements qui ne correspondent pas dans la bonne table, la partie droite de l'ensemble de résultats sera remplie avec NULL.à proposON
etWHERE
L'utilisation des clauses, elles sont enLEFT JOIN
Les rôles sont différents :
ON
plus tard.si dansON
Il existe ultérieurement des restrictions conditionnelles supplémentaires sur la table de droite, qui seront également appliquées lors de la connexion, mais n'affecteront pas le principe de renvoi de tous les enregistrements de la table de gauche.JOIN
L'ensemble de résultats généré par l'opération est filtré davantage.Quand la condition est poséeWHERE
clause, les enregistrements qui ne remplissent pas les conditions (que ce soit de la table de gauche ou de la table de droite) seront supprimés, ce qui peut affecter l'intention initiale de renvoyer tous les enregistrements de la table de gauche, en particulier lors de la gestion des valeurs NULL, vous devez être très prudent.Premier cas particulier :
Supposons que nous ayons deux tables, l'une estemployees
(table des employés), l'autre estdepartments
(table des départements), nous souhaitons connaître tous les employés et leurs noms de département, même si certains employés ne sont pas affectés à un département spécifique.
tableau des employés :
identifiantentifiant | nom |
---|---|
1 | Alice |
2 | Bob |
3 | Carol |
tableau des départements :
identifiantentifiant | nom |
---|---|
1 | HEURE |
2 | IL |
3 | Commercialisation |
dans,employees
tableaudepartment_id
Le champ peut être NULL, indiquant qu’aucun service n’est attribué.
Exemple d'utilisation de ON :
SELECT employees.name, departments.name AS department_name
FROM employees
LEFT JOIN departments ON employees.department_id = departments.id;