TOP

SQL FULL OUTER JOIN Schlüsselwort

SQL FULL OUTER JOIN Beschreibung

Das Schlüsselwort FULL OUTER JOIN gibt alle Datensätze zurück, wenn es eine Übereinstimmung im linken (Tabelle1) oder rechten (Tabelle2) Datensatz der Tabelle gibt.


Die Anweisungen FULL OUTER JOIN und FULL JOIN sind gleich.

FULL OUTER JOIN Syntax

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

SQL FULL JOIN

Demonstrationsdatenbank

In diesem Tutorial verwenden wir die berühmte Beispieldatenbank „Northwind“.

Nachfolgend finden Sie ein Beispiel aus der Tabelle „Customers“ („Kunden“):

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

Und das Beispiel aus der Tabelle „Orders“ („Bestellungen“):

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

SQL FULL OUTER JOIN Beispiel

Die folgende SQL-Anweisung wählt alle Kunden und alle Bestellungen aus:

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

Ein Beispiel aus der Ergebnismenge könnte so aussehen:

CustomerName OrderID
Null 10309
Null 10310
Alfreds Futterkiste Null
Ana Trujillo Emparedados y helados 10308
Antonio Moreno Taquería Null
Das Schlüsselwort FULL OUTER JOIN gibt alle übereinstimmenden Datensätze aus beiden Tabellen zurück, unabhängig davon, ob die andere Tabelle übereinstimmt oder nicht. Wenn es also Zeilen in „Customers“ („Customers“) gibt, die keine Übereinstimmungen in „Orders“ („Orders“) haben, oder wenn es Zeilen in „Orders“ gibt, die keine Übereinstimmungen in „Customers“ haben, sind diese Zeilen ebenfalls vorhanden wird aufgelistet.