Zu Beginn ein einführendes Beispiel. Wir haben wieder unsere 2 Tabellen und wollen wieder die Mitarbeiter mit deren Abteilung angezeigen. Allerdings wollen wir auch wirklich ALLE Abteilungen sehen (auch jene, in denen kein Mitarbeiter arbeitet)
Mit dem OUTER JOIN werden auch Zeilen angezeigt, die sonst nicht angezeigt werden.
SELECT ... FROM Tabellenname1 [Alias] {FULL | LEFT | RIGHT} OUTER JOIN Tabellenname2 [Alias]
Nun zu der Lösung unseres Beispiels:
SELECT Name, Abteilungsname FROM Abteilung a LEFT OUTER JOIN Mitarbeiter m USING(Abteilungsnummer)
In der alten Syntaxschreibweise gibt es keinen FULL OUTER JOIN. RIGHT bzw. LEFT werden durch ein „(+)“ gekennzeichnet. Das „(+)“ steht auf der Seite jender Tabelle die mit null-Werten ergänzt werden muss. Das obige Beispiel würde wie folgt aussehen:
SELECT Name, Abteilungsname FROM (+)Abteilung, Mitarbeiter