Mot-clé FULL JOIN SQL
- Page précédente Right Join SQL
- Page suivante Union SQL
Mot-clé FULL JOIN SQL
Si au moins une table contient une correspondance, la clé FULL JOIN retournera des lignes.
Grammaire de la clé FULL JOIN
SELECT column_name(s) FROM table_name1 FULL JOIN table_name2 ON table_name1.column_name=table_name2.column_name
Commentaire :Dans certains bases de données, FULL JOIN est appelé FULL OUTER JOIN.
Tableau original (utilisé dans les exemples) :
Tableau "Persons" :
Id_P | LastName | FirstName | Adresse | Ville |
---|---|---|---|---|
1 | Adams | John | Oxford Street | London |
2 | Bush | George | Fifth Avenue | New York |
3 | Carter | Thomas | Changan Street | Beijing |
Tableau "Orders" :
Id_O | OrderNo | Id_P |
---|---|---|
1 | 77895 | 3 |
2 | 44678 | 3 |
3 | 22456 | 1 |
4 | 24562 | 1 |
5 | 34764 | 65 |
Exemple de FULL JOIN
Maintenant, nous voulons lister toutes les personnes, ainsi que leurs commandes, ainsi que toutes les commandes, ainsi que les personnes qui les ont commandées.
Vous pouvez utiliser l'instruction SELECT suivante :
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons FULL JOIN Orders ON Persons.Id_P=Orders.Id_P ORDER BY Persons.LastName
ResultSet :
LastName | FirstName | OrderNo |
---|---|---|
Adams | John | 22456 |
Adams | John | 24562 |
Carter | Thomas | 77895 |
Carter | Thomas | 44678 |
Bush | George | |
34764 |
La clause FULL JOIN renverra toutes les lignes de la table de gauche (Persons) et de la table de droite (Orders). Si une ligne de "Persons" ne correspond pas à une ligne dans la table "Orders", ou si une ligne de "Orders" ne correspond pas à une ligne dans la table "Persons", ces lignes seront également listées.
- Page précédente Right Join SQL
- Page suivante Union SQL