Com a cláusula SQL SELECT TOP, você reduz análises de dados a registros se­le­ci­o­na­dos, nas colunas e tabelas que deseja examinar. Ao limitar o número de registros a serem exibidos, você otimiza o de­sem­pe­nho e preserva recursos, es­pe­ci­al­mente ao lidar com grandes bancos de dados.

O que é SQL SELECT TOP?

A linguagem de banco de dados SQL dis­po­ni­bi­liza vários recursos úteis, como comandos SQL, ope­ra­do­res SQL e funções SQL. De­pen­dendo da sua ne­ces­si­dade, você pode pesquisar, analisar, modificar ou manipular registros com eles. Es­pe­ci­al­mente em grandes conjuntos de dados com milhares de entradas, limitar o número de re­sul­ta­dos exibidos torna consultas bem mais efi­ci­en­tes. Para isso, existe a cláusula SQL SELECT TOP.

Ao combinar SQL SELECT com a palavra-chave TOP, você compõe uma função que permite limitar o número de dados re­tor­na­dos a uma quan­ti­dade desejada. Dessa forma, re­sul­ta­dos de registros são limitados aos mais re­le­van­tes, o que otimiza a le­gi­bi­li­dade e a re­le­vân­cia da sua análise. A cláusula SQL SELECT TOP não funciona em todos os bancos de dados, contudo. Nestes casos, você pode usar cláusulas al­ter­na­ti­vas, como LIMIT, FETCH FIRST e ROWNUM.

Dica

Aprenda SQL com este tutorial do nosso Digital Guide. Ele apresenta os prin­ci­pais conceitos e funções da linguagem.

Sintaxe de SQL SELECT TOP

A sintaxe simples da cláusula SQL SELECT TOP é a seguinte:

SELECT TOP n ColunaA, ColunaB, …
FROM Tabela
sql

Esses são os pa­râ­me­tros uti­li­za­dos:

  • SELECT TOP: Com a cláusula SELECT TOP, você define o número de re­sul­ta­dos e as colunas de onde deseja obter os registros. Indique o nome es­pe­cí­fico da coluna após o número desejado de re­sul­ta­dos (n) ou use um asterisco * para se­le­ci­o­nar todos os registros da tabela.

  • FROM: Define a tabela na qual você deseja verificar colunas e registros.

Com outras cláusulas e ope­ra­do­res opcionais, você pode refinar ainda mais os re­sul­ta­dos obtidos:

  • WHERE: Com SQL WHERE, você define as condições que os registros re­le­van­tes devem atender. Assim, re­sul­ta­dos ir­re­le­van­tes são excluídos.

  • ORDER BY: Com SQL GROUP BY e as ins­tru­ções ASC ou DESC, você define se deseja agrupar re­sul­ta­dos em ordem crescente ou de­cres­cente.

Apli­ca­ções de SQL SELECT TOP

Nor­mal­mente, a cláusula SQL SELECT TOP é usada para comparar, analisar ou filtrar dados por tamanho e quan­ti­dade. Casos práticos, em di­fe­ren­tes áreas, incluem:

  • Obter clientes com o maior número de pedidos.
  • Filtrar as 10 primeiras equipes com as campanhas de marketing mais bem-sucedidas.
  • Exibir as 50 maiores tran­sa­ções para verificar mo­vi­men­tos fi­nan­cei­ros suspeitos.
  • Exibir os 10 sites com mais acessos no mês.
  • Analisar clientes pro­mis­so­res com base em dados de­mo­grá­fi­cos, ge­o­grá­fi­cos e fi­nan­cei­ros.
  • Verificar o estoque ao exibir os 10 produtos com em menor quan­ti­dade.
  • Examinar o com­por­ta­mento de compra de clientes com base nos produtos mais pedidos ou vi­su­a­li­za­dos.
  • De­ter­mi­nar fatores de risco em pacientes, com base em re­sul­ta­dos de exames re­le­van­tes, sintomas e histórico médico.
  • Filtrar for­ne­ce­do­res por prazo de entrega ou rotas.
Dica

Acesse ofertas de servidor e hos­pe­da­gem da IONOS para projetos web e bancos de dados: SQL Server Hosting.

VPS Hosting (Virtual Private Servers)
World-class VPS at America’s lowest price

Hos­pe­da­gem VPS poderosa e de baixo custo para rodar suas apli­ca­ções sob medida, com as­sis­tente pessoal e suporte 24 horas.

  • Save 50% or more vs leading hosts
  • Unlimited traffic & no setup fees 
  • 99.99% uptime gua­ran­teed
  • Free 24/7 premium support 

Exemplos de aplicação de SQL SELECT TOP

Para ilustrar como o SQL SELECT TOP funciona, pre­pa­ra­mos dois exemplos práticos.

Exibir os dez últimos pedidos

Você deseja exibir, na tabela “Pedidos”, apenas os 1 pedidos mais recentes. Para isso, utilize o seguinte código:

SELECT TOP 10 * 
FROM Pedidos 
ORDER BY DataDoPedido DESC
sql

Ao usar com­ple­men­tos como ORDER BY, você pode ordenar os re­sul­ta­dos por pa­râ­me­tros, como por quan­ti­dade de pedidos, valor ou outras ca­rac­te­rís­ti­cas.

Exibir clientes com o maior número de pedidos

Você deseja obter, na tabela “Pedidos”, apenas os 10 primeiros clientes com o maior número de compras. Siga os passos abaixo:

SELECT TOP 10 NomeCliente, IdCliente, COUNT(*) AS TotalDePedidos 
FROM Pedidos 
GROUP BY NomeCliente, IdCliente 
ORDER BY TotalDePedidos DESC
sql

Com COUNT, você conta todos os pedidos de clientes, com o nome e ID cor­res­pon­den­tes, para descobrir os pedidos mais fre­quen­tes.

Al­ter­na­ti­vas a SQL SELECT TOP

De­pen­dendo do sistema do seu banco de dados, um comando al­ter­na­tivo para limitar os re­sul­ta­dos deverá ser utilizado. Verifique se o seu sistema de banco de dados suporta a cláusula SQL SELECT TOP ou se demanda uma al­ter­na­tiva. Apre­sen­ta­mos, agora, uma lista de al­ter­na­ti­vas ao SQL SELECT TOP com o tipo de sistema de ge­ren­ci­a­mento de banco de dados (DBMS) adequado.

SQL DBMS Adequado para
SELECT TOP SQL Server Limita re­sul­ta­dos a n
LIMIT MySQL Restringe re­sul­ta­dos a n
ROWNUM ou ROWS Oracle Define o número de linhas de re­sul­ta­dos
OFFSET + FETCH Oracle, MySQL Com­ple­men­tam a cláusula ORDER BY e definem o número de registros nos re­sul­ta­dos
FETCH FIRST n ROWS ONLY Oracle Limita o número de linhas de re­sul­ta­dos a n
Ir para o menu principal