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