Iniciando uma série de posts sobre a linguagem de consulta SQL/T-SQL, irei começar um post tratando do assunto de filtros em consultas. Para este post irei falar sobre o ‘OFFSET – FETCH’ , que me habilita desconsiderar X quantidades de linhas e retornar outras X quantidades de linhas de acordo com o valor passado para ambas.

OFFSET – FETCH SINTAXE

O offset e o fetch devem sempre ser usados após a cláusula order by em uma consulta. O seu uso pode ser aplicável quando temos tabelas muito grandes e queremos limitar a quantidade de valores que serão retornados ao seu final.

Se por um acaso executar um select top, não será possível utilizar o offset – fetch na sua consulta.

Veja na imagem abaixo, a sintaxe:

EXEMPLOS DE USO

Realizando uma consulta ordenando o resultado pelo ID do cliente com a cláusula WHERE.

Reparem que o ID dos clientes começam a ser exibidos do número 11 em diante. Isso ocorre pois o OFFSET pula linhas da tabela e consequentemente, desconsidera registros.

Se quisermos limitar apenas a quantidade de linha exibida sem desconsiderar linhas da tabela, podemos utilizar apenas o FETCH, ‘desconsiderando’ o OFFSET na consulta. Veja abaixo:

NOTA: o FETCH não pode ser 0. irá acusar erro

O mesmo pode ser feito como o FETCH. Podemos apenas exibir o restante dos registros utilizando apenas o OFFSET desconsiderando apenas um pequeno grupo de linhas.

A query desconsiderou as 10 primeiras linhas exibindo o restante

Assim, finalizo esse post breve e explicativo sobre filtro de exibição de resultado com SQL. Achei interessante falar sobre e resolvi trazer para este blog.

Espero que gostem, uma boa noite!

Saúde!