Limite no Oracle

Limite no Oracle

Na maioria dos casos, os bancos de dados compreendem milhares a milhões de registros em uma tabela. Pode ser assustador revisar manualmente todos os registros ao executar consultas.

Portanto, você precisará usar várias cláusulas no SQL, como declarações condicionais, funções de correspondência de padrões, operadores, etc. Mesmo assim, você pode acabar com vários registros para classificar.

Podemos usar a funcionalidade limitada no SQL e em outros dialetos do tipo SQL para limitar ainda mais o número de linhas retornadas de uma determinada consulta.

Este post discutirá um formato curto para limitar o número de registros retornados de uma determinada consulta do Oracle. Lembre -se de que não há cláusula de limite no banco de dados Oracle, como você encontrará em outros bancos de dados, como MySQL, PostgreSQL, etc.

Oracle Rownum

Para implementarmos uma cláusula de limite, vamos usar a função Rownum no SQL. Esta função retorna o número de linhas em um determinado resultado.

Vamos explorar como podemos usar esta função.

Exemplo de uso

Suponha que tenhamos uma tabela com informações dos funcionários, conforme mostrado na imagem abaixo:

Problema

Suponha que desejemos buscar as cinco primeiras colunas da tabela acima e ignorar o resto?

Solução

Podemos usar uma subconeração, como mostrado no trecho abaixo:

Selecione *
De (selecione Funcionário_id, First_Name, Last_Name, Salário dos funcionários Ordem por funcionário_id ASC)
onde rownum <= 5;

Na consulta acima, definimos uma subconsulta usando a cláusula de. Em seguida, a subconsulta busca as colunas de destino e classifica as linhas em ordem crescente com base no funcionário_id.

Finalmente, definimos uma declaração condicional que garante que o número retornado de linhas seja menor ou igual a 5. Isso força o número de registros da consulta a parar em cinco.

Um exemplo de saída é como mostrado:

Lembre -se de que o uso da subconeração garante que as linhas sejam classificadas em ordem ascendente ou descendente. Por exemplo, se você deseja buscar cinco linhas aleatórias, execute:

Selecione Funcionário_id, First_Name, Last_Name, Salário
de funcionários
onde rownum <= 5;

Saída:

Da saída acima, você pode não notar a diferença. No entanto, executar a consulta sem uma cláusula de ordem por dados não classificados resultará em um conjunto aleatório de valores.

Conclusão

Este tutorial curto, mas valioso, explorou a implementação da cláusula de limite no banco de dados Oracle usando o valor rownum.