Categorias:

Sintaxe de consulta

TOP <n>

Limita o número máximo de linhas devolvidas por uma instrução ou subconsulta.

Consulte também:

LIMIT / FETCH

Sintaxe

SELECT
  [ TOP <n> ]
    ...
FROM ...
[ ORDER BY ... ]
[ ... ]

Parâmetros

n

O número máximo de linhas a retornar no conjunto de resultados.

Notas de uso

  • Uma cláusula ORDER BY não é necessária; entretanto, sem uma cláusula ORDER BY, os resultados são não determinísticos porque os resultados dentro de um conjunto de resultados não estão necessariamente em nenhuma ordem em particular. Para controlar os resultados retornados, use uma cláusula ORDER BY.

  • Quando TOP <n> e ORDER BY estão em diferentes níveis de aninhamento em uma consulta, os resultados podem ser imprevisíveis. Para obter detalhes e exemplos, consulte as notas de uso de LIMIT/FETCH.

  • n deve ser uma constante inteira não negativa.

  • TOP n e LIMIT count são equivalentes.

Exemplos

O exemplo a seguir mostra o efeito de TOP N. Para simplificar, essas consultas omitem a cláusula ORDER BY e assumem que a ordem de saída é sempre a mesma, conforme mostrado na primeira consulta. Consultas reais devem incluir uma cláusula ORDER BY.

SELECT c1 FROM testtable;
+------+
|   C1 |
|------|
|    1 |
|    2 |
|    3 |
|   20 |
|   19 |
|   18 |
|    1 |
|    2 |
|    3 |
|    4 |
| NULL |
|   30 |
| NULL |
+------+
SELECT TOP 4 c1 FROM testtable;
+----+
| C1 |
|----|
|  1 |
|  2 |
|  3 |
| 20 |
+----+