Muitas das vezes precisamos recuperar apenas algumas das diversas linhas retornadas por uma consulta SQL. Por isso, para economizar alguns bytes trafegando pela rede, nada mais fácil do que fazer a consulta só retornar a quantidade de linhas desejadas. Para fazer isso, segue abaixo o comando referente a diversos banco de dados.
SQL SERVER
SELECT TOP n nome_campos FROM nome_tabela
Onde n é o número de linhas desejadas, nome_campos são os campos ou o campo que será retornado e nome_tabela o nome da tabela.
Utilizando este recurso conseguimos também fazer paginação de dados. Por exemplo:
SELECT TOP 5 nome_campos FROM nome_tabela WHERE (campo_chave NOT IN (SELECT TOP 10 campo_chave FROM nome_tabela) )
Onde 5 é o número de registro por página e 10 é o resultado da multiplicação da quantidade de registros pela página atual. No exemplo, o SQL retornaria os registros da segunda página. Para retornar da terceira bastaria mudar o SQL substituindo o 10 por 15 e assim por diante.
MYSQL
SELECT * FROM TABELA LIMIT n
ou
SELECT * FROM TABELA LIMIT 0, n
No MySQL é ainda mais fácil fazer paginação de dados. Veja.
Ex.:
SELECT * FROM TABELA LIMIT 10, 5
Da mesma maneira que no exemplo do SQL Server, o resultado se aplica a uma paginação de 5 registros por página.
A paginação ocorre então ao mudar o valor 10 para 15, 20, 25 etc… Ou seja multiplicar a núrero da página pela quantidade de registro por página.
FIREBIRD
SELECT FIRST n nome_campos FROM nome_tabela;
Para fazer a paginação e pular os registros utiliza-se a cláusula SKIP.
SELECT FIRST n SKIP x nome_campos FROM nome_tabela;
INTERBASE
No INTERBASE não há o comando FIRST. Usa-se a cláusula ROWS no lugar.
SELECT nome_campos FROM nome_tabela ROWS n;
Para fazer a paginação e pular os registros utiliza-se a cláusula TO.
SELECT nome_campos FROM nome_tabela ROWS 5 TO 10;