Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Outer Join

Eine weitere Form des Join ist der Outer Join. Er wird gebildet, indem Sie im Join-Ausdruck das Schlüsselwort LEFT, RIGHT oder FULL verwenden. Im Gegensatz zum Inner Join gilt bei einem Outer Join:

Es gibt eine (LEFT, RIGHT) oder zwei (FULL) dominante Tabellen. Erfüllt ein Satz einer dominanten Tabelle nicht die Join-Bedingung, wird der Satz trotzdem in die Ergebnistabelle übernommen. Die Ergebnisspalten, die sich auf die andere Tabelle beziehen, werden auf NULL-Werte gesetzt.


Beispiel

Wie im Beispiel für den Inner Join möchten Sie aus den Tabellen KUNDE und AUFTRAG Kundenname und zugehörige Auftragsnummer heraussuchen. Es sollen aber alle Kunden aufgelistet werden, auch solche, die noch keinen Auftrag gestellt haben. Dazu formulieren Sie folgenden Outer Join:

SELECT firma, anr FROM kunde

LEFT OUTER JOIN auftrag ON kunde.knr=auftrag.knr


Kunden, die keinen Auftrag erteilt haben, zum Beispiel die Firma Jonas Fischladen mit der Kundennummer 104, sind jetzt in der Ergebnistabelle enthalten. Für die fehlende Auftragsnummer ist der NULL-Wert eingetragen.


firma               anr
Siemens AG              
Login GmbH          300 
JIKO GmbH           200
Plenzer Trading    
Jonas Fischladen   
Pudelshop Anke      250 
Pudelshop Anke      251 
Pudelshop Anke      305 
Foreign Ltd.        210
Foreign Ltd.        211
Externa & Co KG