ago 24

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;

View this Post in: English French Italian Spanish