SQL FULL OUTER JOIN Sleutelwoord
SQL FULL OUTER JOIN Sleutelwoord
Die FULL OUTER JOIN
sleutelwoord gee alle rekords terug wanneer daar 'n passing in linker (tabel1) of regter (tabel2) tabelrekords is.
Wenk: FULL OUTER JOIN
en
FULL JOIN
is dieselfde.
VOLLE BUITE AANSLUIT Sintaksis
SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2
ON table1.column_name = table2.column_name
WHERE condition;
Let wel: FULL OUTER JOIN
kan moontlik baie groot resultate-stelle lewer!
Demo databasis
In hierdie tutoriaal sal ons die bekende Northwind-voorbeelddatabasis gebruik.
Hieronder is 'n keuse uit die "Klante"-tabel:
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 'n keuse uit die "Bestellings" tabel:
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
Die volgende SQL-stelling kies alle kliënte en alle bestellings:
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
FULL OUTER JOIN Orders
ON Customers.CustomerID=Orders.CustomerID
ORDER BY Customers.CustomerName;
'n Seleksie uit die resultatestel kan soos volg lyk:
CustomerName | OrderID |
---|---|
Null | 10309 |
Null | 10310 |
Alfreds Futterkiste | Null |
Ana Trujillo Emparedados y helados | 10308 |
Antonio Moreno Taquería | Null |
Let wel: Die FULL OUTER JOIN
sleutelwoord gee alle ooreenstemmende rekords van beide tabelle terug, of die ander tabel pas of nie. Dus, as daar rye in "Klante" is wat nie passings in "Bestellings" het nie, of as daar rye in "Bestellings" is wat nie passings in "Klante" het nie, sal daardie rye ook gelys word.