OFFSET FETCH пример применения в TSQL

MS SQL - по необходимости

Фильтр OFFSET FETCH в языке TSQL интересен тем что в отличии от фильтра TOP позволяет пропускать заданное количество строк ROWS.

Пример:

select regioncode, aolevel, offname from s_adr_fias
order by regioncode, aolevel, offname
offset 100 rows fetch next 50 rows only;


Данный пример демонстрирует выборку из набора отсортированного по условию ORDER BY (по полям regioncode, aolevel, offname) 50 строк данных пропустив первые 100 строк.

!!! Сначала выполняется именно сортировка, и только затем, из отсортированного набора данных берётся необходимый диапазон.

P.S. На больших объёмах, даже с учетом самой оптимальной индексации, данный фильтр является довольно ресурсоемким.

Комментировать...

MSSQL TSQL OFFSET FETCH SELECT Базы данных