Извлечение диапазона строк
Оператор TOP
Оператор TOP позволяет выбрать определенное количество строк из таблицы:
1 2 | SELECT TOP 4 ProductNameFROM Products |

Дополнительный оператор PERCENT позволяет выбрать процентное количество строк из таблицы. Например, выберем 75% строк:
1 2 | SELECT TOP 75 PERCENT ProductNameFROM Products |
OFFSET и FETCH
Оператор TOP позволяет извлечь определенное количество строк, начиная с начала таблицы. Для извлечения набора строк из любого места, применяются операторы OFFSET и FETCH. Важно, что эти операторы применяются только в отсортированном наборе данных после выражения ORDER BY.
1 2 3 | ORDER BY выражение OFFSET смещение_относительно_начала {ROW|ROWS} [FETCH {FIRST|NEXT} количество_извлекаемых_строк {ROW|ROWS} ONLY] |
Например, выберем все строки, начиная с третьей:
1 2 3 | SELECT * FROM ProductsORDER BY Id OFFSET 2 ROWS; |
Число после ключевого слова OFFSET указывает, сколько строк необходимо пропустить.

Теперь выберем только три строки, начиная с третьей:
1 2 3 4 | SELECT * FROM ProductsORDER BY Id OFFSET 2 ROWS FETCH NEXT 3 ROWS ONLY; |
После оператора FETCH указывается ключевое слово FIRST или NEXT (какое именно в данном случае не имеет значения) и затем указывается количество строк, которое надо получить.

Данная комбинация операторов, как правило, используется для постраничной навигации, когда необходимо получить определенную страницу с данными.