Ein Outer Join ist ein Begriff aus der Datenbankabfrage (meist in SQL) und bezeichnet eine spezielle Art, zwei Tabellen miteinander zu verknüpfen – auch dann, wenn keine passenden Datensätze in einer der Tabellen vorhanden sind.
LEFT OUTER JOIN (oder einfach: LEFT JOIN):
→ Gibt alle Datensätze aus der linken Tabelle zurück, auch wenn es keine passenden Datensätze in der rechten Tabelle gibt.
→ Nicht passende Werte aus der rechten Tabelle werden mit NULL
aufgefüllt.
RIGHT OUTER JOIN (oder: RIGHT JOIN):
→ Gibt alle Datensätze aus der rechten Tabelle zurück, auch wenn es keine passenden in der linken gibt.
→ Nicht passende Werte aus der linken Tabelle werden mit NULL
ergänzt.
FULL OUTER JOIN:
→ Gibt alle Datensätze aus beiden Tabellen zurück.
→ Wo keine Übereinstimmung vorliegt, wird mit NULL
ergänzt.
Angenommen, du hast zwei Tabellen:
Kunden
Kundennr | Name |
1 | Anna |
2 | Bernd |
3 | Clara |
Bestellungen
Bestellnr | Kundennr | Produkt |
101 | 2 | Buch |
102 | 4 | Lampe |
Kundennr | Name | Bestellnr | Produkt |
---|---|---|---|
1 | Anna | NULL | NULL |
2 | Bernd | 101 | Buch |
3 | Clara | NULL | NULL |
Ein INNER JOIN ist ein Begriff aus der Datenbankabfrage (SQL). Er wird verwendet, um Datensätze aus zwei (oder mehr) Tabellen zu kombinieren – und zwar nur die Datensätze, bei denen es in beiden Tabellen passende Werte gibt.
Du hast zwei Tabellen:
Tabelle: Kunden
KundenID | Name |
---|---|
1 | Anna |
2 | Bernd |
3 | Clara |
Tabelle: Bestellungen
BestellID | KundenID | Produkt |
---|---|---|
101 | 1 | Buch |
102 | 2 | Laptop |
103 | 4 | Handy |
Jetzt willst du wissen, welche Kunden Bestellungen gemacht haben. Dafür brauchst du nur die Kunden, die in beiden Tabellen vorkommen.
SELECT Kunden.Name, Bestellungen.Produkt
FROM Kunden
INNER JOIN Bestellungen ON Kunden.KundenID = Bestellungen.KundenID;
Name | Produkt |
---|---|
Anna | Buch |
Bernd | Laptop |
Clara hat nichts bestellt → wird nicht angezeigt.
Die Bestellung mit KundenID 4 hat keinen passenden Kunden → wird ebenfalls ignoriert.
Ein INNER JOIN zeigt nur die Datensätze, bei denen es Übereinstimmungen in beiden Tabellen gibt.