Search
  • Ignez Mello

Cláusulas OFFSET e FETCH no SELECT

Updated: Ago 20

 

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