Ein Join-Ausdruck enthält die zu verknüpfenden Tabellen, die gewünschte Join-Operation und gegebenenfalls eine Join-Bedingung.
Ein Join-Ausdruck kann angegeben werden:
als Abfrage-Ausdruck in einer SQL-Anweisung
in der FROM-Klausel eines SELECT-Ausdrucks oder einer SELECT-Anweisung
in einer Unterabfrage in Select-Liste und HAVING-Klausel
Die Ergebnistabelle eines Join-Ausdrucks ist nicht änderbar.
join_ausdruck ::={
tabellenangabe CROSS JOIN
tabellenangabe |
tabellenangabe [ INNER | { LEFT | RIGHT | FULL } [OUTER] ] JOIN
tabellenangabe ON
suchbedingung |
tabellenangabe UNION JOIN
tabellenangabe |
(
join_ausdruck ) }
tabellenangabe
Angabe einer Tabelle, aus der Daten gelesen werden (siehe Abschnitt „Tabellenangabe").
CROSS
CROSS-Operator zum Bilden eines Cross Join. Ein Cross Join entspricht dem Kartesischen Produkt aus den beteiligten Tabellen (siehe Abschnitt „Cross Join").
INNER
INNER-Operator zum Bilden eines Inner Join. Bei einem Inner Join enthält die Ergebnistabelle nur die Sätze, die die Join-Bedingung erfüllen (siehe Abschnitt „Inner Join" ).
LEFT, RIGHT, FULL
Operatoren zum Bilden eines Outer Join. Eine Tabelle, die Teil eines Outer Join ist, darf keine multiplen Spalten enthalten.
Bei einem Outer Join legen Sie mit der Art des Outer Join die dominante(n) Tabelle(n) fest (siehe Abschnitt „Outer Join").
Erfüllt ein Satz der 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.
LEFT RIGHT FULL | Die Tabelle links vom LEFT-Operator ist die dominante Tabelle. Die Tabelle rechts vom RIGHT-Operator ist die dominante Tabelle. Die Tabellen links und rechts vom FULL-Operator sind beide dominante |
suchbedingung
Suchbedingung, die als Join-Bedingung zum Verknüpfen der angegebenen Tabellen verwendet wird.
Für eine in suchbedingung angegebene Spalte gilt:
Die Spalte muss entweder Teil einer der zu verknüpfenden Tabellen sein oder, im Fall von Unterabfragen, Teil einer Tabelle aus einem übergeordneten SELECT-Ausdruck.
Wenn in suchbedingung eine Mengenfunktion vorkommt, muss eine der beiden Bedingungen gelten:
Die Mengenfunktion ist in einer Unterabfrage enthalten.
Der Join-Ausdruck ist in einer Select-Liste oder HAVING-Klausel enthalten und die Spaltenangabe im Argument der Mengenfunktion ist eine Außenreferenz.
UNION
UNION-Operator zum Bilden eines Union Join. Eine Tabelle, die Teil eines Union Join ist, darf keine multiplen Spalten enthalten.
Die Ergebnistabelle eines Union Join enthält sowohl die Sätze der Tabelle links vom UNION-Operator als auch die Sätze der Tabelle rechts vom UNION-Operator, jeweils ergänzt um die auf NULL-Werte gesetzten Spalten der anderen Tabelle (siehe Abschnitt „Union Join").
join_ausdruck
Geschachtelter Join-Ausdruck, um einen Join aus mehr als zwei Tabellen zu bilden.