Este artigo ensinará como usar a cláusula de busca de deslocamento no SQL Server. A cláusula de busca de deslocamento no SQL Server permite definir o limite para o número de linhas retornadas de um determinado. É intimamente semelhante à cláusula limite em outros bancos de dados, como PostgreSQL e MySQL. É bom ter em mente que a cláusula de busca de deslocamento está emparelhada com a cláusula de ordem por ordem.
Sintaxe da cláusula
A seguir, mostra a sintaxe da cláusula de busca de deslocamento, conforme combinado pela Ordem por declaração:
Ordem por Column_list [ASC | DEC]
OFFSET OFFSET_ROW_COUNT ROW | Linhas
Buscar primeiro | Em seguida fetch_row_count linha | Linhas apenas
Os parâmetros são descritos abaixo:
- Offset - isso determina o número de linhas para pular antes de retornar o resultado da consulta. O valor pode ser constante, uma variável definida pelo usuário ou uma expressão que retorna um único valor. Deve ser maior ou igual a zero.
- Fetch - A cláusula de busca permite especificar o número de linhas que você deseja retornar após o valor do deslocamento. Este valor deve ser maior que 1.
A cláusula de busca de deslocamento é emparelhada com a cláusula de ordem por ordem. Portanto, tentar usá -los como consultas independentes resultará em um erro.
Exemplo de ilustração
Vamos ilustrar como podemos trabalhar com a cláusula de busca de deslocamento no SQL Server. Por exemplo, suponha que tenhamos uma tabela fornecida na consulta abaixo:
Soltar o banco de dados se existir inventário;
Criar inventário de banco de dados;
Use inventário;
Soltar a tabela se existir produtos;
Crie produtos de tabela
(
Id int identidade chave primária não nula,
Product_name Varchar (100),
Fabricante Varchar (50),
quantidade não nula,
Preço int padrão 0,
In_stock Bit
);
Insira em produtos (Product_name, Fabricante, Quantidade, Preço, In_stock)
Valores ('Apple iPad Air - 2022', 'Apple', 100, 569.99, 1),
('Samsung Galaxy Z Flip 4 - 2022', 'Samsung', 302, 1569.00, 1),
('Sony PlayStation 5 - 2020', 'Sony', 500, 499.99, 1),
('Samsung Galaxy Watch -5 Pro - 2022', 'Samsung', 600, 209 / .99, 1),
('Apple Watch Series 6 - 2022', 'Apple', 459, 379.90, 1),
('Apple AirPods Pro - 2022', 'Apple', 200, 199.99, 1),
('55 "Classe S95B OLED 4K Smart TV - 2021 ',' Samsung ', 900, 1999.90, 1),
('Odyssey Ark Quantum Mini LED Curved Gaming Screen - 2021', 'Samsung', 50, 2999.90, 1);
Tabela resultante:
Vamos começar pedindo as linhas na tabela pelo fabricante:
Selecione * FROM PRODUTOS ORDEM pelo fabricante;
A tabela resultante é como mostrado:
Podemos pular as três primeiras linhas, como mostrado na consulta abaixo:
Selecione Product_name, Fabricante, Quantidade, Preço, In_stock
de produtos
Ordem do fabricante
deslocamento 3 linhas;
Nesse caso, a consulta deve ordenar a tabela pelo fabricante, pular as três primeiras linhas e devolver o resto da tabela.
Um exemplo de saída é como mostrado:
Como você pode ver, as linhas que contêm 'maçã' como o fabricante são excluídas do resultado.
Podemos excluir a última linha retornando apenas as próximas três colunas após o deslocamento. Um exemplo de consulta é como mostrado:
Selecione Product_name, Fabricante, Quantidade, Preço, In_stock
de produtos
Ordem do fabricante
deslocamento 3 linhas
Pegue apenas 3 linhas próximas;
Nesse caso, ignoramos as três primeiras colunas e buscamos as próximas três colunas do resultado. A tabela de saída é como mostrado:
Conclusão
Nesta postagem, discutimos o uso da cláusula de busca de deslocamento no SQL Server. Esta função permite pular e limitar o número de linhas de uma determinada consulta.