SQL-Joins erklärt: INNER, LEFT, RIGHT, CROSS (und der Komma-Join)

Published: 2026-02-04

SQL-Joins ermöglichen es Ihnen, Zeilen aus zwei Tabellen anhand verwandter Spalten zu kombinieren. Dieses kurze Tutorial zeigt die vier grundlegenden Join-Typen und erklärt, warum der Komma-Join dasselbe ist wie ein CROSS JOIN.

Beispieldaten

Wir verwenden in allen Beispielen zwei Tabellen:

employees-Tabelle:

id name dept_id
1 Ava 10
2 Ben 20
3 Cara NULL

departments-Tabelle:

dept_id dept_name
10 Sales
20 Engineering
30 Support

Probieren Sie die Joins im Browser aus

Sie können die Beispielabfragen direkt auf der Seite ausführen. Bearbeiten Sie die Abfrage und klicken Sie auf Run.

INNER JOIN

Gibt nur Zeilen zurück, die in beiden Tabellen übereinstimmen.

Ergebnis: Ava/Sales, Ben/Engineering. Cara wird ausgeschlossen, weil sie keine passende Abteilung hat, und Support wird ausgeschlossen, weil es keinen Mitarbeiter in Abteilung 30 gibt.

LEFT JOIN (LEFT OUTER JOIN)

Gibt alle Zeilen aus der linken Tabelle sowie passende Zeilen aus der rechten Tabelle zurück. Nicht passende rechte Seite wird zu NULL.

Ergebnis: Ava/Sales, Ben/Engineering, Cara/NULL. Alle Mitarbeiter bleiben erhalten.

RIGHT JOIN (RIGHT OUTER JOIN)

Gibt alle Zeilen aus der rechten Tabelle sowie passende Zeilen aus der linken Tabelle zurück. Nicht passende linke Seite wird zu NULL.

Ergebnis: Ava/Sales, Ben/Engineering, NULL/Support. Alle Abteilungen bleiben erhalten.

Hinweis: Viele Entwickler bevorzugen es, RIGHT JOIN der Lesbarkeit und Konsistenz halber als LEFT JOIN umzuschreiben, indem sie die Tabellenreihenfolge vertauschen.

CROSS JOIN

Gibt das kartesische Produkt (alle Kombinationen) der beiden Tabellen zurück.

Ergebnis: 3 × 3 = 9 Zeilen (jeder Mitarbeiter mit jeder Abteilung kombiniert).

Komma-Join (veraltete Syntax)

Der Komma-Join ist dasselbe wie ein CROSS JOIN. Er listet Tabellen im FROM-Abschnitt durch Kommas getrennt auf:

Dies erzeugt dasselbe kartesische Produkt wie CROSS JOIN. Wenn Sie im WHERE-Abschnitt einen Filter hinzufügen, verhält es sich wie ein INNER JOIN:

Obwohl weiterhin gültig, gilt die Komma-Syntax als veraltet, weil sie Join-Logik mit Filtern vermischt und schwerer zu lesen sein kann. Bevorzugen Sie die explizite Syntax JOIN ... ON.

DbGate: Automatische LEFT JOINs beim Erweitern von Spalten

Im Datenbrowser von DbGate erzeugt das Erweitern einer Fremdschlüsselspalte automatisch eine Abfrage mit einem LEFT JOIN, um zugehörige Daten zu laden, ohne Zeilen aus der Haupttabelle zu verwerfen. So bleibt Ihr Basis-Datensatz intakt, während verwandte Felder sofort verfügbar sind.

Zusammenfassung

  • INNER JOIN behält nur passende Zeilen.
  • LEFT JOIN behält alle Zeilen aus der linken Tabelle.
  • RIGHT JOIN behält alle Zeilen aus der rechten Tabelle.
  • CROSS JOIN gibt alle Kombinationen zurück.
  • Der Komma-Join ist dasselbe wie CROSS JOIN (und mit einem WHERE-Filter wird er zu einem INNER JOIN).