Lernportal für angehende FachinformatikerAdministration
Kapitel 05

5.1 JOINs und Unterabfragen

Fortschritt wird geladen …
Fachlich geprüftStand: 8. September 2026

JOINs verbinden Zeilen verschiedener Tabellen anhand einer fachlich passenden Bedingung. Ohne Bedingung entsteht ein kartesisches Produkt; dessen Zeilenzahl ist das Produkt der beteiligten Mengen und meist nicht das gewünschte Ergebnis.

INNER JOIN und Aliase

INNER JOIN liefert nur Kombinationen, für die die ON-Bedingung erfüllt ist. Tabellenaliase verkürzen Namen und machen gleichnamige Spalten eindeutig. Ein Equi-Join verwendet Gleichheit, aber JOIN-Bedingungen können auch andere Vergleiche enthalten.

Passende Zeilen verbinden

SELECT k.name, b.bestell_id, b.summe
FROM kunde AS k
INNER JOIN bestellung AS b
  ON b.kunden_id = k.kunden_id
WHERE b.status = 'offen';

LEFT und RIGHT OUTER JOIN

LEFT JOIN behält jede Zeile der linken Tabelle. Fehlt rechts ein Treffer, sind deren Ausgabespalten NULL. Damit lassen sich beispielsweise Kunden ohne Bestellung finden. RIGHT JOIN arbeitet spiegelbildlich und lässt sich meist als LEFT JOIN mit vertauschter Tabellenreihenfolge lesbarer formulieren.

Nicht zugeordnete Datensätze

SELECT k.kunden_id, k.name
FROM kunde AS k
LEFT JOIN bestellung AS b ON b.kunden_id = k.kunden_id
WHERE b.bestell_id IS NULL;

Unterabfragen und EXISTS

Unterabfragen können Einzelwerte, Mengen oder Existenzprüfungen liefern. Ob JOIN oder Unterabfrage besser ist, hängt von Aussage, Lesbarkeit und Ausführungsplan ab; pauschale Performance-Regeln sind unzuverlässig.

Korrelierte Unterabfrage

SELECT k.kunden_id, k.name
FROM kunde AS k
WHERE EXISTS (
  SELECT 1 FROM bestellung AS b
  WHERE b.kunden_id = k.kunden_id AND b.status = 'offen'
);

Quellen zur fachlichen Prüfung

Unterlage mitnehmen

PDF-Download nach Anmeldung

Zum Schutz der Unterrichtsunterlagen steht der PDF-Download ausschließlich angemeldeten Nutzern zur Verfügung.

5.1 JOINs und Unterabfragen | Datenbanken