SQL – Selecionar n linhas de uma consulta 6


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;
Related Posts Plugin for WordPress, Blogger...