FULL JOIN: Unterschied zwischen den Versionen

Aus FI-Wiki
 
Zeile 1: Zeile 1:
== FULL JOIN ==
== FULL JOIN ==


Ein '''FULL JOIN''' (oder FULL OUTER JOIN) kombiniert die Ergebnisse eines LEFT JOIN und eines RIGHT 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.   
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.
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.
Der FULL JOIN wird verwendet, wenn man einen '''vollständigen Überblick über beide Tabellen''' benötigt.


=== Grundsyntax ===
=== Grundsyntax ===

Aktuelle Version vom 30. November 2025, 11:02 Uhr

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.