SQL -Joins
SQL-VERBINDUNG
Eine JOIN
Klausel wird verwendet, um Zeilen aus zwei oder mehr Tabellen zu kombinieren, basierend auf einer verwandten Spalte zwischen ihnen.
Sehen wir uns eine Auswahl aus der Tabelle „Bestellungen“ an:
OrderID | CustomerID | OrderDate |
---|---|---|
10308 | 2 | 1996-09-18 |
10309 | 37 | 1996-09-19 |
10310 | 77 | 1996-09-20 |
Sehen Sie sich dann eine Auswahl aus der Tabelle "Kunden" an:
CustomerID | CustomerName | ContactName | Country |
---|---|---|---|
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 ein enthält
INNER JOIN
), die Datensätze auswählt, die übereinstimmende Werte in beiden Tabellen haben:
Beispiel
SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID;
und es wird so etwas produzieren:
OrderID | CustomerName | OrderDate |
---|---|---|
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 Arten von JOINs in SQL:
(INNER) JOIN
: Gibt Datensätze zurück, die übereinstimmende Werte in beiden Tabellen 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 es eine Übereinstimmung in der linken oder rechten Tabelle gibt