SQL LEFT JOIN les mots-clés
Le mot-clé LEFT JOIN retourne toutes les lignes de la table de gauche (table1), avec les lignes correspondantes dans la table de droite (table2). Le résultat est NULL dans le côté droit quand il n'y a pas de match.
SQL LEFT JOIN Syntaxe
SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name = table2.column_name ;
ou:
SELECT column_name(s)
FROM table1
LEFT OUTER JOIN table2
ON table1.column_name = table2.column_name ;
PS! Dans certaines bases de données LEFT JOIN est appelé LEFT OUTER JOIN.
Base de données Demo
Dans ce tutoriel, nous allons utiliser la base de données Northwind bien connu.
Voici une sélection de la "Customers" tableau:
N ° de client | CustomerName | Nom du contact | Adresse | Ville | Code postal | Pays |
---|---|---|---|---|---|---|
1 |
Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitucion 2222 | Mexico D.F. | 05021 | Mexico |
3 | Antonio Moreno Taqueria | Antonio Moreno | Mataderos 2312 | Mexico D.F. | 05023 | Mexico |
Et une sélection de la "Orders" tableau:
Numéro de commande | N ° de client | EmployeeID | Date de commande | ShipperID |
---|---|---|---|---|
10308 | 2 | 7 | 1996-09-18 | 3 |
10309 | 37 | 3 | 1996-09-19 | 1 |
10310 | 77 | 8 | 1996-09-20 | 2 |
SQL LEFT JOIN Exemple
L'instruction SQL suivante retourne tous les clients et tous les ordres qu'ils pourraient avoir:
Exemple
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
LEFT JOIN Orders
ON Customers.CustomerID=Orders.CustomerID
ORDER BY Customers.CustomerName;
Essayez - le vous - même » Remarque: Le mot - clé LEFT JOIN renvoie toutes les lignes de la table gauche (clients), même s'il n'y a aucune correspondance dans la table de droite (commandes).