FirebirdSQL logo

FIRST, SKIP

Назначение

Получение части строк из упорядоченного набора.

Синтаксис
SELECT [FIRST <limit-expression>] [SKIP <limit-expression>]
FROM ...
...

<limit-expression> ::=
    <integer-literal>
  | <query-parameter>
  | (<integer-expression>)
Table 1. Параметры предложений FIRST и SKIP
Параметр Описание

integer-literal

Целочисленный литерал.

query-parameter

Параметр запроса.? — в DSQL и :paramname — в PSQL.

integer-expression

Выражение, возвращающее целочисленное значение.

Important

FIRST и SKIP используются только в Firebird, они не включены в стандарт SQL.Рекомендуется использовать [fblangref-dml-select-fetch-offset] везде, где это возможно.

Выражение FIRST m ограничивает результирующий набор данным указанным числом записей m.

Выражение SKIP n пропускает указанное число записей n перед выдачей результирующего набора данных.

FIRST и SKIP являются необязательными выражениями.

Когда эти выражения используются совместно, например “FIRST m SKIP n”, то в результате n записей будет пропущено и, из оставшихся, m записей будет возвращено в результирующем наборе данных.

Особенности использования FIRST и SKIP

  • Разрешается использовать SKIP 0 – в этом случае 0 записей будет пропущено;

  • В случае использования FIRST 0 будет возвращён пустой набор записей;

  • Отрицательные значения FIRST и SKIP вызовут ошибку;

  • Если указанное в SKIP значение превышает размер результирующего набора данных, то вернётся пустой набор данных;

  • Если число записей в наборе данных (или остаток после применения SKIP) меньше, чем заданное в FIRST значение, то соответственно меньшее количество записей будет возвращено;

  • Любой аргумент FIRST или SKIP, который не является целым числом или параметром SQL должен был заключён в круглые скобки. Это, означает, что в случае использования вложенной команды SELECT в качестве параметра для FIRST или SKIP, он должен быть вложен в две пары скобок.