joined_table
Die Angabe von JOINED TABLE (
joined_table) ist ein möglicher Bestandteil einer FROM TABLE-Spezifikation (from_table_spec).Syntax
<joined_table> ::=
<from_table_spec> CROSS JOIN <from_table_spec>
| <from_table_spec> [INNER] JOIN <from_table_spec> <join_spec>
| <from_table_spec> [<LEFT | RIGHT | FULL> [OUTER]] JOIN <from_table_spec> <join_spec>
<join_spec> ::= ON <search_condition> | USING (<column_name>,...)
from_table_spec, search_condition, column_nameErläuterung
Besteht eine FROM TABLE-Spezifikation aus einer JOINED TABLE, so wird das Ergebnis wie folgt erzeugt:
Sei FT1 die Menge aller Zeilen der Tabelle, die durch die erste FROM TABLE-Spezifikation angegeben wird. FT2 sei die Menge aller Zeilen der Tabelle, die durch die zweite FROM TABLE-Spezifikation angegeben wird.
Sei T die Menge von Ergebniszeilen, die aus allen möglichen Kombinationen von FT1 und FT2 besteht und für die gilt, daß jede Ergebniszeile die JOIN-Spezifikation (
join_spec ) erfüllt.Für die JOIN-Spezifikation (
join_spec ) ON <search_condition> gelten die für die WHERE-Bedingung angegebenen Regeln.Wenn die JOIN-Spezifikation (
join_spec ) USING (<column_name>,...) angegeben ist, so müssen die Spaltennamen Spalten bezeichnen, die sowohl in FT1 als auch in FT2 enthalten sind und für die der Benutzer das SELECT-Privileg hat. Die Angabe der JOIN-Spezifiaktion USING (<column_name>,...) hat die gleiche Bedeutung wie durch AND verknüpfte Vergleichsprädikate zwischen den jeweils gleich benannten Spalten in FT1 und FT2. Als Vergleichsoperator ( comp_op) wird dabei = verwendet.