Joins
Joins kombinieren Daten aus zwei Quellen zu einem einzigen Satz.Dies erfolgt zeilenweise und beinhaltet normalerweise die Überprüfung einer Join-Bedingung, um zu bestimmen, welche Zeilen zusammengeführt und im resultierenden Dataset erscheinen sollen.Es gibt verschiedene Typen (INNER
, OUTER
) und Klassen (qualifiziert, natürlich usw.) von Joins, jede mit ihrer eigenen Syntax und eigenen Regeln.
Da Joins verkettet werden können, können die an einem Join beteiligten Datasets selbst verbundene Sets sein.
SELECT ... FROM <source> [<joins>] [...] <source> ::= { table | view | selectable-stored-procedure [(<args>)] | <derived-table> | <common-table-expression> | LATERAL <derived-table> } [[AS] alias] <joins> ::= <join> [<join> ...] <join> ::= [<join-type>] JOIN <source> <join-condition> | NATURAL [<join-type>] JOIN <source> | {CROSS JOIN | ,} <source> <join-type> ::= INNER | {LEFT | RIGHT | FULL} [OUTER] <join-condition> ::= ON <condition> | USING (<column-list>)
Argument | Beschreibung |
---|---|
table |
Name einer Tabelle |
view |
Name einer Ansicht |
selectable-stored-procedure |
Name einer auswählbaren Stored Procedure |
args |
Wählbare Eingabeparameter für gespeicherte Prozeduren |
derived-table |
Verweis, namentlich, auf eine abgeleitete Tabelle |
common-table-expression |
Verweis nach Name auf einen allgemeinen Tabellenausdruck (CTE) |
alias |
Ein Alias für eine Datenquelle (Tabelle, Sicht, Prozedur, CTE, abgeleitete Tabelle) |
condition |
Join-Bedingung (Kriterium) |
column-list |
Die Liste der Spalten, die für einen Equi-Join verwendet werden |