Exemplo de como limitar o número de linhas retornas no MySQL, SQL-Server e Oracle

Numa consulta ao banco de dados posso retornar milhares de linhas, porém gostaria apenas trazer os primeiros 20 registros.  Segue os exemplos de como limitar o números de linhas no bancos MySQL, SQL-Server e Oracle:

--MySQL
select coluna from tabela limit 20;
--SQL-Server
</strong>select top 20 coluna from tabela;
--Oracle
select coluna from tabela where ROWNUM <=20;

Obs. O Oracle não tem as funções “TOP” nem LIMIT. Para fazer o equivalente no Oracle usamos a função ROWNUM que conta cada registro retornado començando com 1.

Referências:
How can I limit the number of rows in Oracle. http://www.delphifaq.com/faq/databases/oracle/f594.shtml acessado em 29/12/2010.

Equivalent of SQL “TOP X” in Oracle. http://www.dougboude.com/blog/1/2006/06/Equivalent-of-SQL-TOP-X-in-Oracle.cfm acessado em 29/12/2010.

About these ads

1 Comentário

Arquivado em Banco de Dados, SQL

Uma resposta para “Exemplo de como limitar o número de linhas retornas no MySQL, SQL-Server e Oracle

  1. Lucas

    Apenas quero comentar que, no Oracle, este modo de limitar o número de linhas de um select funciona muito bem, porém em casos nos quais se deseja realizar um select randômico, este comando faz com que a seleção randômica se limite às 20 primeiras linhas (no caso do exemplo acima), ou seja, as demais linhas não serão incluídas no sorteio do select randômico. Para se solucionar isto basta utilizar o seguinte comando:

    SELECT * FROM (SELECT * FROM TABELA ORDER BY DBMS_RANDOM.VALUE) WHERE ROWNUM < 20

    em que a parte entre parênteses seleciona a tabela por completo ordenando randomicamente, e a parte fora dos parênteses seleciona as 20 primeiras linhas desta seleção completa. Desta forma o sorteio da seleção randômica se aplica a toda a tabela, não apenas às 20 primeiras linhas.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s