Common Table Expressions (“WITH … AS … SELECT
”)
DSQL, PSQL
<cte-construct> ::= <cte-defs> <main-query> <cte-defs> ::= WITH [RECURSIVE] <cte> [, <cte> ...] <cte> ::= name [(<column-list>)] AS (<cte-stmt>) <column-list> ::= column-alias [, column-alias ...]
Argument | Beschreibung |
---|---|
cte-stmt |
Jede |
main-query |
Die |
name |
Alias für einen Tabellenausdruck |
column-alias |
Alias für eine Spalte in einem Tabellenausdruck |
Ein allgemeiner Tabellenausdruck oder CTE kann als virtuelle Tabelle oder Ansicht beschrieben werden, die in einer Präambel einer Hauptabfrage definiert ist und nach der Ausführung der Hauptabfrage den Gültigkeitsbereich verlässt.Die Hauptabfrage kann auf alle CTEs verweisen, die in der Präambel definiert sind, als wären es reguläre Tabellen oder Ansichten.CTEs können rekursiv, d.h. selbstreferenzierend, aber nicht verschachtelt sein.