Limitando O SELECT Do SQL Em Diferentes Bancos De Dados

Categorias: desenvolvimento, sql

Olá pessoal…

Atualmente tenho tido o privilégio de trabalhar com vários data bases, e com isso está dando para ver as diferenças de sintaxe, performance, ferramentas e demais coisas de um para outro.

Tenho trabalhado com Microsoft SQL, Postgres e Oracle.

Uma coisa que me chamou a atenção foi a maneira de limitar a consulta em cada um deles. Tenho feito bastante consultas limitadas pois ainda estou conhecendo a base de dados da empresa e não sei ao certo quantos registros tem certas tabelas. Para evitar que a coisa caia ou trave, faço consultas limitadas.

Repare as diferenças de um banco para outro abaixo:

SELECT * FROM tabela LIMIT 20

Essa é a sintaxe para o postgres, que acho que deve ser a mais conhecida por ser software livre e etc.
Basta adicionar o parâmetro LIMIT e passar o valor de máximo de registros que você quer.

SELECT TOP 20 * FROM tabela

Essa é a maneira como o Microsoft limita sua consulta.
Você adiciona o parâmetro TOP passando o valor do máximo de registros que você quer. Isso deve vir logo após o SELECT.

SELECT * FROM tabela WHERE ROWNUM < 20

E por último o Oracle.
Você deve usar o parâmetro ROWNUM junto a um operador (<, >, <=, >=, =) e em seguida o valor máximo de registros que você quer para sua consulta.
Traduzindo este exemplo acima ficaria mais ou menos assim:
Selecione tudo da tabela chamada ‘tabela’ onde o número de tuplas seja menor que 20

Por hoje é isso ai rapaziada. Valeu !


Comments