Anweisung: SELECT
Beschreibung: liest Zeilen aus einer Tabelle oder Sicht
Syntax:
[ WITH [ RECURSIVE ] With-Anfrage [, ...] ]
SELECT [ ALL | DISTINCT [ ON ( Ausdruck [, ...] ) ] ]
[ * | Ausdruck [ [ AS ] Ausgabename ] [, ...] ]
[ FROM From-Element [, ...] ]
[ WHERE Bedingung ]
[ GROUP BY Gruppierelement [, ...] ]
[ HAVING Bedingung [, ...] ]
[ WINDOW Fenstername AS ( Fensterdefinition ) [, ...] ]
[ { UNION | INTERSECT | EXCEPT } [ ALL | DISTINCT ] Select ]
[ ORDER BY Ausdruck [ ASC | DESC | USING Operator ] [ NULLS { FIRST | LAST } ] [, ...] ]
[ LIMIT { Anzahl | ALL } ]
[ OFFSET Start [ ROW | ROWS ] ]
[ FETCH { FIRST | NEXT } [ Anzahl ] { ROW | ROWS } ONLY ]
[ FOR { UPDATE | NO KEY UPDATE | SHARE | KEY SHARE } [ OF Tabellenname [, ...] ] [ NOWAIT | SKIP LOCKED ] [...] ]
wobei From-Element Folgendes sein kann:
[ ONLY ] Tabellenname [ * ] [ [ AS ] Alias [ ( Spaltenalias [, ...] ) ] ]
[ TABLESAMPLE Stichprobenmethode ( Argument [, ...] ) [ REPEATABLE ( Startwert ) ] ]
[ LATERAL ] ( Select ) [ AS ] Alias [ ( Spaltenalias [, ...] ) ]
With-Anfragename [ [ AS ] Alias [ ( Spaltenalias [, ...] ) ] ]
[ LATERAL ] Funktionsname ( [ Argument [, ...] ] )
[ WITH ORDINALITY ] [ [ AS ] Alias [ ( Spaltenalias [, ...] ) ] ]
[ LATERAL ] Funktionsname ( [ Argument [, ...] ] ) [ AS ] Alias ( Spaltendefinition [, ...] )
[ LATERAL ] Funktionsname ( [ Argument [, ...] ] ) AS ( Spaltendefinition [, ...] )
[ LATERAL ] ROWS FROM( Funktionsname ( [ Argument [, ...] ] ) [ AS ( Spaltendefinition [, ...] ) ] [, ...] )
[ WITH ORDINALITY ] [ [ AS ] Alias [ ( Spaltenalias [, ...] ) ] ]
From-Element [ NATURAL ] Verbundtyp From-Element [ ON Verbundbedingung | USING ( Verbundspalte [, ...] ) ]
und Gruppierelement eins der folgenden sein kann:
( )
Ausdruck
( Ausdruck [, ...] )
ROLLUP ( { Ausdruck | ( Ausdruck [, ...] ) } [, ...] )
CUBE ( { Ausdruck | ( Ausdruck [, ...] ) } [, ...] )
GROUPING SETS ( Gruppierelement [, ...] )
und With-Anfrage ist:
With-Anfragename [ ( Spaltenname [, ...] ) ] AS ( Select | values | insert | update | delete )
TABLE [ ONLY ] Tabellenname [ * ]
test=#