Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

ROW_NUMBER no SQL – Selecione o exemplo principal no SQL e no SQL Server


SQL, ou linguagem de consulta estruturada, nos permite coletar dados de um banco de dados por meio de consultas. Também nos permite inserir, atualizar e excluir esses dados.

Nesta postagem do blog, vamos nos concentrar em como buscar dados e limitar os resultados usando SQL.

Por que você deve limitar os resultados da consulta SQL?


Um banco de dados é geralmente uma enorme coleção de dados. Às vezes, não precisamos buscar todos os resultados. Para limitar os resultados, podemos otimizar a consulta.

Limitar os resultados da consulta é importante para o desempenho do banco de dados. Buscar um resultado grande quando não é necessário gera carga extra no banco de dados e afeta a experiência do usuário.

Como limitar os resultados da consulta no SQL


A sintaxe é diferente para SQL Server, Oracle e MySQL para limitar os dados.
  • O MySQL usa LIMIT .
  • ORACLE usa FETCH FIRST .
  • MS Access e SQL Server usam TOP .

Veremos exemplos de como cada um funciona em detalhes abaixo.

Banco de dados de demonstração


Temos a seguinte tabela chamada students com seus detalhes como você pode ver abaixo:
ID Nome Sexo
1 Ryan M
2 Joana F
3 Miranda Andersen F
4 Dália Mata F
5 Lilianna Boyd F
6 Lexie Sharp M
7 Jazlene Cordova F
8 Brycen Werner M
9 Karissa Turner F
10 Aisha Dodson F
11 Aydin Reeves M

Como limitar uma consulta no MySQL


Abaixo está a sintaxe do MySQL.
SELECT  (expression)
FROM 
    table_name
LIMIT 5;

Como exemplo, selecionaremos os 5 primeiros registros da tabela.

Vamos usar nossa tabela students para esta demonstração.
-- fetch top 5 values from table

SELECT * FROM students
LIMIT 5;

Saída:

Como combinar LIMIT com ORDER BY


Ao combinar LIMIT com ORDER BY, você pode obter resultados mais significativos. Por exemplo, podemos usar isso para encontrar os 5 melhores alunos que pontuaram mais de 70% em seu exame.

Vamos ordenar nossa tabela students com a coluna name e escolha os 5 primeiros do resultado. Você pode fazer assim:
SELECT * FROM students
order by name
LIMIT 5;

Saída:

Como limitar resultados – sintaxe Oracle


Abaixo está a sintaxe equivalente para nosso primeiro exemplo no Oracle.
SELECT * FROM students
FETCH FIRST 5 ROWS ONLY;

Em versões mais antigas do Oracle, você pode usar ROWNUM para restringir o número de linhas retornadas por uma consulta.

Exemplo:
SELECT * FROM 
students 
WHERE ROWNUM < 5;

Como limitar resultados no SQL – Sintaxe do MS Access


Abaixo está a sintaxe equivalente para nosso primeiro exemplo no MS Access.
SELECT TOP 5 * FROM students;

Encerrando


A funcionalidade LIMIT pode ser muito poderosa para otimização de consultas quando combinada com classificação. Consultas eficientes são mais leves no sistema e rápidas para o usuário. É sempre recomendado LIMITAR os resultados quando aplicável.