SQL FULL OUTER JOIN Trefwoord
SQL FULL OUTER JOIN Trefwoord
Het FULL OUTER JOIN
sleutelwoord retourneert alle records wanneer er een overeenkomst is in linker (tabel1) of rechter (tabel2) tabelrecords.
Tip: FULL OUTER JOIN
en
FULL JOIN
zijn hetzelfde.
VOLLEDIGE OUTER JOIN-syntaxis
SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2
ON table1.column_name = table2.column_name
WHERE condition;
Opmerking: FULL OUTER JOIN
kan mogelijk zeer grote resultaatsets retourneren!
Demodatabase
In deze tutorial gebruiken we de bekende Northwind-voorbeelddatabase.
Hieronder vindt u een selectie uit de tabel "Klanten":
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 |
En een selectie uit de tabel "Bestellingen":
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 |
SQL FULL OUTER JOIN Voorbeeld
De volgende SQL-instructie selecteert alle klanten en alle bestellingen:
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
FULL OUTER JOIN Orders
ON Customers.CustomerID=Orders.CustomerID
ORDER BY Customers.CustomerName;
Een selectie uit de resultatenset kan er als volgt uitzien:
CustomerName | OrderID |
---|---|
Null | 10309 |
Null | 10310 |
Alfreds Futterkiste | Null |
Ana Trujillo Emparedados y helados | 10308 |
Antonio Moreno Taquería | Null |
Opmerking: Het FULL OUTER JOIN
sleutelwoord retourneert alle overeenkomende records uit beide tabellen, ongeacht of de andere tabel overeenkomt of niet. Dus als er rijen zijn in "Klanten" die geen overeenkomsten hebben in "Bestellingen", of als er rijen in "Bestellingen" zijn die geen overeenkomsten hebben in "Klanten", worden die rijen ook weergegeven.