Leçon 28 : Jointures Externes Gauche et Droite (LEFT et RIGHT OUTER JOINS)
Les Jointures Externes (Outer Joins) sont utilisées lorsque vous voulez voir toutes les données d'une table, même s'il n'y a pas d'enregistrements correspondants dans l'autre table.
1. LEFT OUTER JOIN (ou simplement LEFT JOIN)
Un LEFT JOIN renvoie toutes les lignes de la table de gauche (la table listée en premier dans la requête) et les lignes correspondantes de la table de droite.
- Si une ligne de la table de gauche n'a pas de correspondance à droite, les colonnes de la table de droite contiendront NULL.
Exemple : Trouver les Clients Sans Commande
Nous voulons une liste de TOUS les clients, y compris ceux qui n'ont jamais passé de commande.
sql SELECT C.CustomerName, O.OrderID FROM Customers C -- Table de Gauche (Garder toutes les lignes) LEFT JOIN Orders O -- Table de Droite (Correspondre si possible) ON C.CustomerID = O.CustomerID WHERE O.OrderID IS NULL; -- Filtrer là où la correspondance a échoué (c'est-à-dire, aucune commande)
2. RIGHT OUTER JOIN (ou simplement RIGHT JOIN)
Un RIGHT JOIN est l'image miroir : il renvoie toutes les lignes de la table de droite et les lignes correspondantes de la table de gauche. Si aucune correspondance n'est trouvée à gauche, les colonnes de la table de gauche sont NULL.
Note : La plupart des développeurs préfèrent utiliser
LEFT JOINet intervertir l'ordre des tables, car cela rend la requête plus facile à lire et à normaliser.