bg_image
header

Outer Join

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.

Arten von Outer Joins:

  1. 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.

  2. 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.

  3. FULL OUTER JOIN:
    → Gibt alle Datensätze aus beiden Tabellen zurück.
    → Wo keine Übereinstimmung vorliegt, wird mit NULL ergänzt.


Beispiel:

Angenommen, du hast zwei Tabellen:

  • Kunden

    Kundennr Name
    1 Anna
    2 Bernd
    3 Clara
  • Bestellungen

    Bestellnr Kundennr Produkt
    101 2 Buch
    102 4 Lampe

LEFT JOIN (Kunden LEFT JOIN Bestellungen ON Kunden.Kundennr = Bestellungen.Kundennr)

Kundennr Name Bestellnr Produkt
1 Anna NULL NULL
2 Bernd 101 Buch
3 Clara NULL NULL

Inner Join

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.

Beispiel:

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.

SQL mit INNER JOIN:

SELECT Kunden.Name, Bestellungen.Produkt
FROM Kunden
INNER JOIN Bestellungen ON Kunden.KundenID = Bestellungen.KundenID;

Ergebnis:

Name Produkt
Anna Buch
Bernd Laptop

Erklärung:

  • Clara hat nichts bestellt → wird nicht angezeigt.

  • Die Bestellung mit KundenID 4 hat keinen passenden Kunden → wird ebenfalls ignoriert.

Kurz gesagt:

Ein INNER JOIN zeigt nur die Datensätze, bei denen es Übereinstimmungen in beiden Tabellen gibt.