Mot-clé MySQL LEFT JOIN
Mot-clé MySQL LEFT JOIN
Le LEFT JOIN
mot clé renvoie tous les enregistrements de la table de gauche (table1) et les enregistrements correspondants (le cas échéant) de la table de droite (table2).
Syntaxe LEFT JOIN
SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name = table2.column_name;
Base de données de démonstration
Dans ce didacticiel, nous utiliserons la célèbre base de données d'exemples Northwind.
Voici une sélection du tableau "Clients":
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 |
Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
Et une sélection du tableau "Commandes":
OrderID | CustomerID | EmployeeID | OrderDate | ShipperID |
---|---|---|---|---|
10308 | 2 | 7 | 1996-09-18 | 3 |
10309 | 37 | 3 | 1996-09-19 | 1 |
10310 | 77 | 8 | 1996-09-20 | 2 |
MySQL LEFT JOIN Exemple
L'instruction SQL suivante sélectionnera tous les clients et toutes les commandes qu'ils pourraient avoir :
Exemple
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
LEFT JOIN Orders
ON Customers.CustomerID = Orders.CustomerID
ORDER BY Customers.CustomerName;
Remarque : Le mot- LEFT JOIN
clé renvoie tous les enregistrements de la table de gauche (Clients), même s'il n'y a pas de correspondance dans la table de droite (Commandes).