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 JOINder Lesbarkeit und Konsistenz halber alsLEFT JOINumzuschreiben, 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 JOINbehält nur passende Zeilen.LEFT JOINbehält alle Zeilen aus der linken Tabelle.RIGHT JOINbehält alle Zeilen aus der rechten Tabelle.CROSS JOINgibt alle Kombinationen zurück.- Der Komma-Join ist dasselbe wie
CROSS JOIN(und mit einemWHERE-Filter wird er zu einemINNER JOIN).