Kapitel 6 – SQL-Joins

6.1 JOIN-Grundlagen

Definition

Ein JOIN verbindet Datensätze aus mehreren Tabellen miteinander.

JOINs werden verwendet, wenn benötigte Daten auf mehrere Tabellen verteilt sind.


Grundprinzip

Tabellen werden meist über Primärschlüssel und Fremdschlüssel verbunden.


Beispiel

Tabelle Kunde

Kundennr Name
1 Müller
2 Schneider

Tabelle Bestellung

Bestellnr Kundennr
1001 1
1002 2

Die Spalte Kundennr verbindet beide Tabellen.


Grundaufbau

SELECT kunde.name, bestellung.bestellnr
FROM kunde
JOIN bestellung
ON kunde.kundennr = bestellung.kundennr;

Wichtige JOIN-Arten

JOIN-Art Bedeutung
INNER JOIN nur passende Datensätze aus beiden Tabellen
LEFT JOIN alle Datensätze der linken Tabelle
RIGHT JOIN alle Datensätze der rechten Tabelle
FULL OUTER JOIN alle Datensätze aus beiden Tabellen

Merksatz

JOINs verbinden Tabellen über gemeinsame Schlüssel.


Prüfungshinweis

In IHK-Aufgaben werden JOINs häufig benötigt, wenn Informationen aus mehreren Tabellen abgefragt werden sollen.

Typische Fehler:


Quellen

6.2 INNER JOIN

Definition

Ein INNER JOIN verbindet Datensätze aus zwei Tabellen.

Es werden nur Datensätze ausgegeben, bei denen die Join-Bedingung in beiden Tabellen erfüllt ist.


Grundaufbau

SELECT spalte
FROM tabelle1
INNER JOIN tabelle2
ON tabelle1.schluessel = tabelle2.fremdschluessel;

Beispiel

SELECT kunde.name, bestellung.bestellnr
FROM kunde
INNER JOIN bestellung
ON kunde.kundennr = bestellung.kundennr;

Bedeutung

Es werden nur Kunden angezeigt, die eine passende Bestellung haben.

Kunden ohne Bestellung erscheinen nicht im Ergebnis.


Typischer Einsatz

Ein INNER JOIN wird verwendet, wenn nur zusammengehörige Datensätze ausgegeben werden sollen.

Beispiele:


Merksatz

INNER JOIN zeigt nur passende Datensätze aus beiden Tabellen.


Prüfungshinweis

In IHK-Aufgaben ist der INNER JOIN die häufigste JOIN-Art.

Typische Fehler:


Quellen

6.3 LEFT JOIN

Definition

Ein LEFT JOIN verbindet Datensätze aus zwei Tabellen.

Es werden alle Datensätze der linken Tabelle ausgegeben, auch wenn es keinen passenden Datensatz in der rechten Tabelle gibt.


Grundaufbau

SELECT spalte
FROM tabelle1
LEFT JOIN tabelle2
ON tabelle1.schluessel = tabelle2.fremdschluessel;

Beispiel

SELECT kunde.name, bestellung.bestellnr
FROM kunde
LEFT JOIN bestellung
ON kunde.kundennr = bestellung.kundennr;

Bedeutung

Es werden alle Kunden angezeigt.

Kunden ohne Bestellung erscheinen ebenfalls im Ergebnis.

Bei fehlender Bestellung steht in den Spalten der rechten Tabelle NULL.


Typischer Einsatz

Ein LEFT JOIN wird verwendet, wenn alle Datensätze der linken Tabelle erhalten bleiben sollen.

Beispiele:


Merksatz

LEFT JOIN zeigt alle Datensätze der linken Tabelle und passende Datensätze der rechten Tabelle.


Prüfungshinweis

In IHK-Aufgaben ist LEFT JOIN wichtig, wenn auch Datensätze ohne passende Beziehung angezeigt werden sollen.

Typische Fehler:


Quellen

6.4 Mehrere Tabellen verbinden

Definition

Bei SQL-Abfragen können mehrere Tabellen mit mehreren JOINs verbunden werden.

Das wird benötigt, wenn die gesuchten Informationen auf mehr als zwei Tabellen verteilt sind.


Grundprinzip

Jede zusätzliche Tabelle wird mit einem weiteren JOIN verbunden.

Die Verbindung erfolgt meistens über Primärschlüssel und Fremdschlüssel.


Beispiel Tabellen

Tabelle Enthält
kunde Kundendaten
bestellung Bestellungen
bestellposition Artikel einer Bestellung
artikel Artikeldaten

Beispiel SQL

SELECT kunde.name, bestellung.bestellnr, artikel.bezeichnung
FROM kunde
INNER JOIN bestellung
ON kunde.kundennr = bestellung.kundennr
INNER JOIN bestellposition
ON bestellung.bestellnr = bestellposition.bestellnr
INNER JOIN artikel
ON bestellposition.artikelnr = artikel.artikelnr;

Bedeutung

Die Abfrage verbindet:


Typischer Einsatz

Mehrere Tabellen werden verbunden bei:


Merksatz

Mehrere Tabellen werden Schritt für Schritt über JOINs verbunden.


Prüfungshinweis

In IHK-Aufgaben müssen häufig mehrere Tabellen verbunden werden, wenn die benötigten Spalten nicht in einer einzigen Tabelle stehen.

Typische Fehler:


Quellen