Full Join

0

SQL FULL OUTER JOIN Schlüsselwort

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

Tipp: FULL OUTER JOIN und FULL JOIN sind dasselbe.

FULL OUTER JOIN Syntax

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

Hinweis: FULL OUTER JOIN kann möglicherweise sehr große Ergebnismengen zurückgeben!

Demo Datenbank

In diesem Tutorial verwenden wir die bekannte Northwind Beispieldatenbank.

Nachfolgend eine Auswahl aus der Tabelle „Kunden“:

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
1
Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Germany
2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.05021Mexico
3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.05023Mexico

Und eine Auswahl aus der Tabelle „Bestellungen“:

OrderIDCustomerIDEmployeeIDOrderDateShipperID
10308271996-09-183
103093731996-09-191
103107781996-09-202

SQL FULL OUTER JOIN Beispiel

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

SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
FULL OUTER JOIN Orders ON Customers.CustomerID=Orders.CustomerID
ORDER BY Customers.CustomerName;

Eine Auswahl aus der Ergebnismenge könnte wie folgt aussehen:

CustomerNameOrderID
Null10309
Null10310
Alfreds FutterkisteNull
Ana Trujillo Emparedados y helados10308
Antonio Moreno TaqueríaNull

Hinweis: 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 „Kunden“ gibt, die keine Übereinstimmungen in „Bestellungen“ haben, oder wenn es Zeilen in „Bestellungen“ gibt, die keine Übereinstimmungen in „Kunden“ haben, werden diese Zeilen ebenfalls aufgelistet.

Nach oben scrollen