Fachkonzept - Outer Join
Nicht für alle Benutzer sind auch Benutzerbilder gespeichert. Als Folge davon findet z.B. der Benutzer-Datensatz mit der PNR=1535 keinen Join-Partner in der Bildtabelle - er wird daher auch nicht angezeigt.
Bei einem Outer Join wird ein Datensatz auch angezeigt, sofern er keinen Datensatz als Join-Partner findet. Die "fehlenden" Attribute in der Ergebniszeile werden mit NULL
aufgefüllt.
Für SQL gibt es eine besondere Syntax, um einen solchen Outer Join anzugeben. Im Beispiel mit den Benutzerbildern sieht das so aus:
Beachte, dass die Join-Bedingung (und alle anderen Bedingungen auf der bild
-Tabelle) direkt nach dem Schlüsselwort LEFT OUTER JOIN
notiert wird.
Im Beispiel wird jetzt die benutzer
-Tabelle komplett ausgegeben - auch wenn kein Join-Partner in der bild
-Tabelle gefunden wird.
Anmerkung: Schreibe statt LEFT OUTER JOIN
einmal INNER JOIN
- dies ist eine andere Möglichkeit einen "normalen" Join anzugeben.
Suche nach Partnern - ohne Join
Will man nur wissen, ob (oder ob nicht) ein Join-Partner vorhanden wäre, dann lässt sich dessen Existenz mit einem sog. Subselect ermitteln:
Diese Subselects sind oft effizienter ausführbar als ein "echter" Join.