Может быть использована для постраничного листания данных, например
Код:
SELECT *
FROM ( SELECT /*+ FIRST_ROWS(n) */
a.*, ROWNUM rnum
FROM ( your_query_goes_here,
WITH ORDER BY ) a
WHERE ROWNUM <=
:MAX_ROW_TO_FETCH )
WHERE rnum >= :MIN_ROW_TO_FETCH;
где
FIRST_ROWS(N) сообщает оптимизатору, сколько строк надо выбрать (для оптимизации выборки)
:MAX_ROW_TO_FETCH выставляется в номер последней строки выборки (если выбираете с 50 по 60 строку, надо указать 60)
:MIN_ROW_TO_FETCH выставляется в номер первой строки выборки (если выбираете с 50 по 60 строку, надо указать 50)