TOP

SQL FULL OUTER JOIN Mot clé

SQL FULL OUTER JOIN descriptif

Le mot-clé FULL OUTER JOIN renvoie tous les enregistrements s'il y a une correspondance dans les enregistrements de gauche (table1) ou de droite (table2) de la table.


Les instructions FULL OUTER JOIN et FULL JOIN sont les mêmes.

FULL OUTER JOIN Syntaxe

SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2
ON table1.column_name = table2.column_name
WHERE condition

SQL FULL JOIN

Base de données de démonstration

Dans ce tutoriel nous utiliserons la célèbre base de données exemple "Northwind".

Vous trouverez ci-dessous un exemple de la table "Customers" ("Clients") :

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
1Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Germany
2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.5021Mexico
3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.5023Mexico
4Around the HornThomas Hardy120 Hanover Sq.LondonWA1 1DPUK
5Berglunds snabbköpChristina BerglundBerguvsvägen 8LuleåS-958 22Sweden

Et l'échantillon de la table "Orders" ("Commandes") :

ProductIDOrderIDCustomerIDEmployeeIDOrderDateShipperID
1102489051996-07-043
2102498161996-07-051
3102503441996-07-082
4102518431996-07-081
5102527641996-07-092

SQL FULL OUTER JOIN Exemple

L'instruction SQL suivante sélectionne tous les clients et toutes les commandes :

Run SQLSELECT Customers.CustomerName, Orders.OrderID 
FROM Customers 
FULL OUTER JOIN Orders ON Customers.CustomerID = Orders.CustomerID 
ORDER BY Customers.CustomerName

Un exemple du jeu de résultats pourrait ressembler à ceci :

CustomerName OrderID
Null 10309
Null 10310
Alfreds Futterkiste Null
Ana Trujillo Emparedados y helados 10308
Antonio Moreno Taquería Null
Le mot-clé FULL OUTER JOIN renvoie tous les enregistrements correspondants des deux tables, que l'autre table corresponde ou non. Ainsi, s'il y a des lignes dans "Customers" ("Clients") qui n'ont aucune correspondance dans "Orders" ("Commandes"), ou s'il y a des lignes dans "Commandes" qui n'ont aucune correspondance dans "Clients", ces lignes sont également seront répertoriés.