Databases Reference
In-Depth Information
das Ergebnis ist:
VNR NAME NR VNR PRODUKT
---------- ---- --------- ---------- -------
1 Udo 1 1 Hose
1 Udo 2 1 Rock
2 Uwe 3 2 Schal
Diese und die folgenden Anfragen können durch
WHERE
-
Bedingungen ergänzt werden, die hier nur aus Vereinfa-
chungsgründen weggelassen wurden.
Sollen im Ergebnis immer alle Einträge der linken Tabelle
sichtbar werden, egal ob es zugehörige Werte in der rechten
Tabelle gibt, kann ein
LEFT JOIN
genutzt werden. Gibt es kei-
ne zugehörigen Werte, werden NULL-Werte in den Spalten
eingetragen. Im Beispiel möchte man z. B. wissen, wer was ver-
kauft hat, dabei sollen alle Verkäufer im Ergebnis sichtbar wer-
den. Die Anfrage lautet wie folgt:
SELECT *
FROM Verkaeufer LEFT JOIN Verkauf
ON Verkaeufer.VNr=Verkauf.VNr
Das Ergebnis ist:
LEFT JOIN
VNR NAME NR VNR PRODUKT
---------- ---- --------- ---------- -------
1 Udo 1 1 Hose
1 Udo 2 1 Rock
2 Uwe 3 2 Schal
3 Ulf
Ist man, statt an den Verkäufern, an allen Verkäufen interes-
siert, kann man hier den
RIGHT JOIN
nutzen.
SELECT *
FROM Verkaeufer RIGHT JOIN Verkauf
ON Verkaeufer.VNr=Verkauf.VNr
RIGHT JOIN
Das Ergebnis ist:
VNR NAME NR VNR PRODUKT
---------- ---- --------- ---------- -------
1 Udo 2 1 Rock
1 Udo 1 1 Hose
2 Uwe 3 2 Schal
4 Anzug
Möchte man alle Verkäufer und alle Verkäufe im Ergebnis se-
hen, kann der
FULL JOIN
genutzt werden.
FULL JOIN
216