# SQL SELECT TOP: Limitar registros selecionados em consultas

Com a cláusula [SQL](https://www.ionos.com/pt-br/digitalguide/servidor/conhecimento/o-que-e-sql/) `SELECT TOP`, você reduz análises de dados a registros selecionados, nas colunas e tabelas que deseja examinar. Ao **limitar o número de registros a serem exibidos**, você otimiza o desempenho e preserva recursos, especialmente ao lidar com grandes bancos de dados.

## O que é SQL `SELECT TOP`?

A linguagem de banco de dados SQL disponibiliza vários recursos úteis, como comandos SQL, [operadores SQL](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/operadores-sql/) e funções SQL. Dependendo da sua necessidade, você pode pesquisar, analisar, modificar ou manipular registros com eles. Especialmente em grandes conjuntos de dados com milhares de entradas, **limitar o número de resultados exibidos** torna consultas bem mais eficientes. Para isso, existe a cláusula SQL `SELECT TOP`.

Ao combinar [SQL SELECT](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/sql-select/) com a palavra-chave `TOP`, você compõe uma função que permite **limitar o número de dados retornados** a uma quantidade desejada. Dessa forma, resultados de registros são limitados aos mais relevantes, o que otimiza a legibilidade e a relevância 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 alternativas, como `LIMIT`, `FETCH FIRST` e `ROWNUM`.

Dica [Aprenda SQL](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/aprender-sql-com-exemplos/ "Aprender SQL com exemplos") com este tutorial do nosso Digital Guide. Ele apresenta os principais conceitos e funções da linguagem.

## Sintaxe de SQL `SELECT TOP`

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

```sql
SELECT TOP n ColunaA, ColunaB, …
FROM Tabela
```

Esses são os parâmetros utilizados:

- `SELECT TOP`: Com a cláusula `SELECT TOP`, você define o número de resultados e as colunas de onde deseja obter os registros. Indique o nome específico da coluna após o número desejado de resultados (`n`) ou use um asterisco `*` para selecionar todos os registros da tabela.
- `FROM`: Define a tabela na qual você deseja verificar colunas e registros.

Com outras cláusulas e operadores opcionais, você pode refinar ainda mais os resultados obtidos:

- `WHERE`: Com [SQL WHERE](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/sql-where/), você define as condições que os registros relevantes devem atender. Assim, resultados irrelevantes são excluídos.
- `ORDER BY`: Com [SQL GROUP BY](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/sql-group-by/) e as instruções `ASC` ou `DESC`, você define se deseja agrupar resultados em ordem crescente ou decrescente.

## Aplicações de SQL `SELECT TOP`

Normalmente, a cláusula SQL `SELECT TOP` é usada para comparar, analisar ou filtrar dados por tamanho e quantidade. Casos práticos, em diferentes á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 transações para verificar movimentos financeiros suspeitos.
- Exibir os 10 sites com mais acessos no mês.
- Analisar clientes promissores com base em dados demográficos, geográficos e financeiros.
- Verificar o estoque ao exibir os 10 produtos com em menor quantidade.
- Examinar o comportamento de compra de clientes com base nos produtos mais pedidos ou visualizados.
- Determinar fatores de risco em pacientes, com base em resultados de exames relevantes, sintomas e histórico médico.
- Filtrar fornecedores por prazo de entrega ou rotas.

Dica Acesse ofertas de servidor e hospedagem da IONOS para projetos web e bancos de dados: [SQL Server Hosting](https://www.ionos.com/cloud/sql-server-hosting "SQL Server Hosting — IONOS").

## Exemplos de aplicação de SQL `SELECT TOP`

Para ilustrar como o SQL `SELECT TOP` funciona, preparamos 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:

```sql
SELECT TOP 10 * 
FROM Pedidos 
ORDER BY DataDoPedido DESC
```

Ao usar **complementos** como `ORDER BY`, você pode ordenar os resultados por parâmetros, como por quantidade de pedidos, valor ou outras características.

### 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:

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

Com `COUNT`, você conta todos os pedidos de clientes, com o nome e ID correspondentes, para descobrir os pedidos mais frequentes.

## Alternativas a SQL `SELECT TOP`

Dependendo do sistema do seu banco de dados, um **comando alternativo para limitar os resultados** deverá ser utilizado. Verifique se o seu sistema de banco de dados suporta a cláusula SQL `SELECT TOP` ou se demanda uma alternativa. Apresentamos, agora, uma lista de alternativas ao SQL `SELECT TOP` com o tipo de sistema de gerenciamento de banco de dados (DBMS) adequado.

<table>
  <thead>
    <tr>
      <th>SQL</th>
      <th>DBMS</th>
      <th>Adequado para</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>`SELECT TOP`</td>
      <td>SQL Server</td>
      <td>Limita resultados a n</td>
    </tr>
    <tr>
      <td>`LIMIT`</td>
      <td>MySQL</td>
      <td>Restringe resultados a n</td>
    </tr>
    <tr>
      <td>`ROWNUM` ou `ROWS`</td>
      <td>Oracle</td>
      <td>Define o número de linhas de resultados</td>
    </tr>
    <tr>
      <td>`OFFSET` + `FETCH`</td>
      <td>Oracle, MySQL</td>
      <td>Complementam a cláusula `ORDER BY` e definem o número de registros nos resultados</td>
    </tr>
    <tr>
      <td>`FETCH FIRST n ROWS ONLY`</td>
      <td>Oracle</td>
      <td>Limita o número de linhas de resultados a n</td>
    </tr>
  </tbody>
</table>


This is a markdown version of: [https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/sql-select-top/](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/sql-select-top/) for AI/LLM consumption.