Zurück zu: SQL Tutorial
0
SQL JOIN
Mit einer JOIN
Klausel werden Zeilen aus zwei oder mehr Tabellen auf der Grundlage einer zugehörigen Spalte kombiniert.
Schauen wir uns eine Auswahl aus der Tabelle „Bestellungen“ an:
BestellNr | KundenID | Bestelldatum |
---|---|---|
10308 | 2 | 1996-09-18 |
10309 | 37 | 1996-09-19 |
10310 | 77 | 1996-09-20 |
Schauen Sie sich dann eine Auswahl aus der Tabelle „Kunden“ an:
KundenID | Kundenname | Kontaktname | Land |
---|---|---|---|
1 | Alfreds Futterkiste | Maria Anders | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mexico |
Beachten Sie, dass die Spalte „CustomerID“ in der Tabelle „Orders“ auf die „CustomerID“ in der Tabelle „Customers“ verweist. Die Beziehung zwischen den beiden obigen Tabellen ist die Spalte „CustomerID“.
Dann können wir die folgende SQL Anweisung erstellen (die einen INNER JOIN
enthält), die Datensätze auswählt, die in beiden Tabellen übereinstimmende Werte haben:
Beispiel
SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID;
und das Ergebnis wird ungefähr wie folgt aussehen:
BestellNr | Kundenname | Bestelldatum |
---|---|---|
10308 | Ana Trujillo Emparedados y helados | 9/18/1996 |
10365 | Antonio Moreno Taquería | 11/27/1996 |
10383 | Around the Horn | 12/16/1996 |
10355 | Around the Horn | 11/15/1996 |
10278 | Berglunds snabbköp | 8/12/1996 |
Verschiedene Arten von SQL JOINs
Hier sind die verschiedenen Typen von JOINs in SQL:
(INNER) JOIN
: Gibt Datensätze zurück, die in beiden Tabellen übereinstimmende Werte habenLEFT (OUTER) JOIN
: Gibt alle Datensätze aus der linken Tabelle und die übereinstimmenden Datensätze aus der rechten Tabelle zurückRIGHT (OUTER) JOIN
: Gibt alle Datensätze aus der rechten Tabelle und die übereinstimmenden Datensätze aus der linken Tabelle zurückFULL (OUTER) JOIN
: Gibt alle Datensätze zurück, wenn in der linken oder rechten Tabelle eine Übereinstimmung vorliegt



