Buscar
  • Ignez Mello

Cláusulas OFFSET e FETCH no SELECT

Atualizado: 20 de Ago de 2019


As cláusulas OFFSET e FETCH foram incorporadas no SQL Server 2012, e fornece uma opção para gerar a paginação do resultado de uma query. Para utilizá-los, a query deve, necessariamente, ter a cláusula ORDER BY. Usando o BD AdventureWorks2014 como modelo, vamos exibir o conteúdo da tabela HumanResources.Department, organizados pelo Id. A tabela tem 16 registros:


Neste comando, vamos acrescentar a cláusula OFFSET. Observe que o resultado pula as cinco primeiras linhas e retorna as linhas restantes:



Agora vamos incluir o FETCH:



Ok, Ok! Se usar o TOP 10, o resultado seria o mesmo...

Então vamos alterar o valor de OFFSET para 4. Agora, o resultado pula as 4 primeiras linhas e exibe as 10 seguintes:



Para facilitar o uso de OFFSET / FETCH na aplicação, podemos utilizar variáveis para informar a página e o número de linhas para exibir:



#OFFSET #FETCH #SELECT

0 visualização