<< >> Up Title Contents Index

Outer-Join

Gesucht seien zunächst alle Hamburger Hotels, zu denen Buchungen existieren. Diese werden in der Ergebnistabelle durch ihre Nummer und ihren Namen angezeigt.

SELECT hotel.hnr, hotel.name, buchung.bnr
       FROM hotel, buchung
       WHERE hotel.ort = 'Hamburg' AND
       hotel.hnr = buchung.hnr

Möchte man jetzt alle Hamburger Hotels aufgelistet bekommen, und zwar unabhängig davon, ob eine oder mehrere Buchungen für sie existieren, so bedient man sich des sogenannten 'Outer-Joins'.

Es wird eine Ergebnistabelle erzeugt, die alle Hamburger Hotels mit ihren zugehörigen Buchungen zeigt - wie es auch im ersten Beispiel der Fall war - und zusätzlich noch die Hotels aus der Hansestadt auflistet, zu denen keine Buchung existiert. Der fehlende Eintrag für die Buchungsnummer wird mit einem NULL-Wert belegt.

Der Outer-Join wird durch den (+) Operator gekennzeichnet.

SELECT hotel.hnr, hotel.name, buchung.bnr
       FROM hotel, buchung
       WHERE hotel.ort = 'Hamburg' AND
       hotel.hnr = buchung.hnr (+)


<< >> Up Title Contents Index