FirebirdSQL logo

ROWS

Назначение

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

Синтаксис
SELECT <columns> FROM ...
  [WHERE ...]
  [ORDER BY ...]
  ROWS <value-expression> [TO <value-expression>]
Table 1. Параметры предложения ROWS
Параметр Описание

value-expression

Любые целочисленные выражения.

Предложение ROWS было введено для совместимости с Interbase 6.5 и выше.

В отличие от FIRST и SKIP, выражение ROWS принимает все типы целочисленных (integer) выражений в качестве аргумента – без скобок! Конечно, скобки могут требоваться для правильных вычислений внутри выражения, и вложенный запрос также должен быть обернут в скобки. Если результат выражения не явлется целым числом, то будет приведено к целому числу, если это возможно.

Important
  • Нумерация записей в наборе данных начинается с 1.

  • И FIRST/SKIP, и ROWS могут быть использованы без выражения ORDER BY, хотя это редко имеет смысл, за исключением случая, когда необходимо быстро взглянуть на данные таблицы – получаемые строки при этом будут чаще всего в случайном порядке. В этом случае запрос вроде SELECT * FROM TABLE1 ROWS 20 вернёт 20 первых записей, а не целую таблицу (которая может очень большой).

Вызов ROWS m приведёт к возвращению первых m записей из набора данных.

Особенности при использовании ROWS с одним аргументом

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

  • Если m = 0, то будет возвращён пустой набор данных;

  • Если m < 0, выдаётся ошибка.

В случае указания ROWS m TO n, то будут возвращены записи с m по n из набора данных.