Fazendo ‘select top 1’ no Oracle

Fazendo ‘select top 1’ no Oracle

Overview

Já se perguntou como limitar o número de linhas em uma consulta Oracle, semelhante ao ’top n’ no SQL Server ou ’limit n’ no MySql? Não se preocupe! Este post descomplica a situação com um método direto usando o rownum no Oracle. Vou te guiar por essa solução simples, mas eficaz. Então, vamos lá!

Com o SQL Server você pode utilizar o comando top n para limitar a quantidade de linhas da sua query. No MySql, existe o limit n, mas e no Oracle? Obviamente, não é tão simples assim, mas também não é difícil. Neste post vou mostrar uma forma de conseguir este resultado.

Utilizando o rownum:

select * from tabela where rownum = 1;

Um ponto de atenção para quem for utilizar esta abordagem: O rownum é o número que indica a ordem em que os registros são recuperados para a consulta corrente, ou seja, rownum = 1 é ao primeiro registro recuperado pelo Oracle para a consulta atual. Sendo assim, se você quiser um registro específico, pode utilizar uma subquery para ordenar os resultados e na query “pai” utilizar o rownum.

Espero ter ajudado.