Databases Reference
In-Depth Information
Der Right Outer Join macht Sinn, wenn wir in der FROM-Klausel die Reihenfolge
der Tabellennamen ändern.
SELECT name, bestell_nr, bestelldatum
FROM bestellung RIGHT OUTER JOIN kunde
ON kunde.kunden_nr = bestellung.kunden_nr;
name bestell_nr bestelldatum
============================== =========== ============
Voss, Hans (NULL) (NULL)
Stein, Peter 151 2000-04-28
Berger, Uwe (NULL) (NULL)
Randers, Nis 152 2000-04-30
Randers, Nis 154 2000-05-15
Andresen, Ute (NULL) (NULL)
Stuff, Werner 153 2000-05-12
Staack, Hannes (NULL) (NULL)
Wir erhalten dasselbe Resultat wie oben bei der linken Variante mit der anderen
Reihenfolge der Tabellennamen.
Es gibt Fragen, deren Beantwortung eine Kombination mehrerer Outer Joins erfor-
dert: Wir benötigen beispielsweise eine Liste, in der zu allen Kunden die zugehöri-
gen Bestellungen und die Bankverbindung aufgeführt werden. Es gibt aber Kun-
den, die noch nichts bestellt haben, und solche, von denen keine Bankverbindung
bekannt ist.
Die Lösung:
SELECT k.kunden_nr, g.blz, b.bestell_nr
FROM kunde k LEFT OUTER JOIN girokonto AS g
ON k.kunden_nr = g.kunden_nr
LEFT OUTER JOIN bestellung AS b
ON k.kunden_nr = b.kunden_nr; kunden_nr
Antwort:
blz bestell_nr
=========== ========== ===========
100 (NULL) (NULL)
101 23410022 151
102 (NULL) (NULL)
103 23410112 152
103 23410112 154
104 (NULL) (NULL)
105 (NULL) 153
106 (NULL) (NULL)
Search WWH ::




Custom Search