FULL JOIN
Aus FI-Wiki
FULL JOIN
Ein FULL JOIN (oder FULL OUTER JOIN) kombiniert die Ergebnisse eines LEFT JOIN und eines RIGHT JOIN. Er liefert **alle Datensätze aus beiden Tabellen**, unabhängig davon, ob passende Einträge existieren. Wo keine Übereinstimmung vorhanden ist, werden die fehlenden Werte mit NULL ergänzt.
Der FULL JOIN wird verwendet, wenn man einen **vollständigen Überblick über beide Tabellen** benötigt.
Grundsyntax
SELECT *
FROM tabelle1
FULL JOIN tabelle2
ON tabelle1.id = tabelle2.fk_id;
(Hinweis: MySQL unterstützt FULL JOIN nicht direkt – dort nutzt man UNION aus LEFT und RIGHT JOIN.)
Beispiel
kunden
| kd_id | name |
|---|---|
| 1 | Anna |
| 2 | Max |
| 4 | Tom |
bestellungen
| bs_id | kd_id | betrag |
|---|---|---|
| 10 | 1 | 59.90 |
| 11 | 2 | 29.50 |
| 12 | 3 | 15.00 |
Abfrage:
SELECT name, betrag
FROM kunden
FULL JOIN bestellungen
ON kunden.kd_id = bestellungen.kd_id;
Ergebnis
| name | betrag |
|---|---|
| Anna | 59.90 |
| Max | 29.50 |
| NULL | 15.00 |
| Tom | NULL |
Erklärung:
- Bestellung ohne passenden Kunden (kd_id = 3) → **NULL bei name**
- Kunde ohne Bestellung (Tom) → **NULL bei betrag**
Eigenschaften des FULL JOIN
- zeigt alle Datensätze aus beiden Tabellen
- fehlende Werte werden jeweils mit NULL ergänzt
- sinnvoll, um vollständige Datenübersichten zu erhalten
- Kombination der Ergebnisse von LEFT und RIGHT JOIN
- nicht in allen Datenbanken direkt verfügbar
Kurzmerksatz
Der FULL JOIN liefert alle Datensätze aus beiden Tabellen und ergänzt fehlende Werte mit NULL. Er vereint LEFT und RIGHT JOIN.
