Datenbanken - Informationstechnologie
LEFT & RIGHT JOIN
LEFT JOIN
Ein LEFT JOIN ermittelt sämtliche Einträge aus der linksseitigen Relation (linksseitig = linksseitig vom JOIN-Befehl).
Der SQL-Dump für das folgende Beispiel befindet sich hier zum download.
SELECT
*
FROM personendaten AS p
LEFT JOIN location AS l
ON p.PLZ=l.PLZ;
AUSGABE
Ein RIGHT JOIN erzeugt folglich eine Verknüpfung mit Priorisierung der rechten Seite des JOIN-Befehls:
SELECT
*
FROM personendaten AS p
RIGHT JOIN location AS l
ON p.PLZ=l.PLZ;
FAZIT:
Im RIGHT JOIN sind sämtliche Orte ausgegeben, egal ob ein Schüler dort wohnt
oder nicht. In der zweiten Zeile der Ausgabe ist dies zu erkennen. Hier werden die
temporären Ausgabe-Attribute mit NULL ausgegeben. Der Schüler Max Müller fehlt
beim RIGHT JOIN, da aus der rechten Relation vom JOIN keine verteilter Schlüssel
gefunden wurde. Bei ihm ist bei PLZ ein NULL eingetragen.
Beim LEFT JOIN werden beide Schüler ausgegeben, da der LEFT JOIN
zwangsweise alle Einträge aus der linksseitigen Relation vom JOIN ausgibt, egal ob
es zur rechtsseitigen Relation einen verknüpften Schlüssel gibt.
Lizenziert unter Creative Commons Attribution Non-commercial Share Alike License 4.0