OFFSET
, FETCH
Abrufen eines Zeilenabschnitts aus einer geordneten Menge
DSQL, PSQL
SELECT <columns> FROM ... [WHERE ...] [ORDER BY ...] [OFFSET <m> {ROW | ROWS}] [FETCH {FIRST | NEXT} [ <n> ] { ROW | ROWS } ONLY] <m>, <n> ::= <integer-literal> | <query-parameter>
Argument | Beschreibung |
---|---|
integer-literal |
Ganzzahlliteral |
query-parameter |
Platzhalter für Abfrageparameter. |
Die Klauseln OFFSET
und FETCH
sind ein SQL:2008-kompatibles Äquivalent für FIRST
/SKIP
und eine Alternative für ROWS
.Die OFFSET
-Klausel gibt die Anzahl der zu überspringenden Zeilen an.Die FETCH
-Klausel gibt die Anzahl der abzurufenden Zeilen an.
Wenn <n> in der FETCH
-Klausel weggelassen wird (zB FETCH FIRST ROW ONLY
), wird eine Zeile geholt.
Die Wahl zwischen ROW
oder ROWS
, oder FIRST
oder NEXT
in den Klauseln ist nur aus ästhetischen Gründen (zB um die Abfrage lesbarer oder grammatikalisch korrekt zu machen).Technisch gesehen gibt es keinen Unterschied zwischen OFFSET 10 ROW
oder OFFSET 10 ROWS
, oder FETCH NEXT 10 ROWS ONLY
oder FETCH FIRST 10 ROWS ONLY
.
Wie bei SKIP
und FIRST
können OFFSET
- und FETCH
-Klauseln unabhängig voneinander sowohl in Top-Level- als auch in verschachtelten Abfrageausdrücken angewendet werden.
Note
|
|