FULL JOIN

Aus FI-Wiki
Version vom 30. November 2025, 11:00 Uhr von Moettke (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „== 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 === <sy…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

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.