Database
 sql >> Base de Dados >  >> RDS >> Database

SQL ORDER POR


SQL ORDER POR

O SQL ORDER BY cláusula é usada para ordenar os dados armazenados em tabelas no banco de dados . A classificação pode ser feita de forma crescente, decrescente ou com base em várias colunas da tabela .

Geralmente, a ordem de classificação padrão é a ordem crescente.
SELECT expressions
 FROM tables
 WHERE conditions
 ORDER BY expression ASC | DESC; 

A seguir está a sintaxe de uma cláusula geral ORDER BY:

Exemplo:

Vamos considerar os seguintes Clientes tabela.
ID NOME IDADE ENDEREÇO SALÁRIO
1 Himani gupta 21 Modinagar 22.000
2 Shiva tiwari 22 Bhopal 21.000
3 Ajeet bhargav 45 Meerut 65.000
4 Ritesh yadav 36 Azamgarh 26.000
5 Balwant singh 45 Varanasi 36000
6 Mahesh sharma 26 Mathura 22.000
 SELECT * 
 FROM Customers
 ORDER BY NAME, SALARY; 

A consulta acima classificará todos os registros em ordem crescente com base nas colunas NOME e SALÁRIO.

Saída:
ID NOME IDADE ENDEREÇO SALÁRIO
3 Ajeet bhargav 45 Meerut 65.000
5 Balwant singh 45 Varanasi 36000
1 Himani gupta 21 Modinagar 22.000
6 Mahesh sharma 26 Mathura 22.000
4 Ritesh yadav 36 Azamgarh 26.000
2 Shiva tiwari 22 Bhopal 21.000
SELECT *
 FROM CUSTOMERS
 ORDER BY NAME DESC; 

A consulta acima classificará todos os registros da tabela de forma decrescente com base na coluna NAME.

Saída:
ID NOME IDADE ENDEREÇO SALÁRIO
2 Shiva tiwari 22 Bhopal 21.000
4 Ritesh yadav 36 Azamgarh 26.000
6 Mahesh sharma 26 Mathura 22.000
1 Himani gupta 21 Modinagar 22.000
5 Balwant singh 45 Varanasi 36000
3 Ajeet bhargav 45 Meerut 65.000

Existem vários tópicos na cláusula SQL ORDER BY. Ou seja, são:
  • SQL ORDER POR ASC – Classifica os dados em ordem crescente
  • SQL ORDER POR DESC – Classifica os dados de forma decrescente
  • ORDEM SQL POR ALEATÓRIO – Classifica dados aleatórios
  • SQL ORDER POR LIMITE – Seleciona dados limitados do banco de dados
  • ORDER SQL POR Múltiplas Colunas – Classifica os dados com base em várias colunas.

Vamos discutir cada um deles em detalhes.

SQL ORDER POR ASC


SQL ORDER POR ASC cláusula classifica os dados em ordem crescente com base em algumas colunas. Geralmente, a ordem de classificação padrão é crescente.

Exemplo:

Vamos considerar os seguintes Clientes tabela.
ID NOME IDADE ENDEREÇO SALÁRIO
1 Himani gupta 21 Modinagar 22.000
2 Shiva tiwari 22 Bhopal 21.000
3 Ajeet bhargav 45 Meerut 65.000
4 Ritesh yadav 36 Azamgarh 26.000
5 Balwant singh 45 Varanasi 36000
6 Mahesh sharma 26 Mathura 22.000
SELECT * 
 FROM Customers
 ORDER BY NAME, SALARY; 

A consulta acima classificará todos os registros em ordem crescente com base nas colunas NOME e SALÁRIO.

Saída:
ID NOME IDADE ENDEREÇO SALÁRIO
3 Ajeet bhargav 45 Meerut 65.000
5 Balwant singh 45 Varanasi 36000
1 Himani gupta 21 Modinagar 22.000
6 Mahesh sharma 26 Mathura 22.000
4 Ritesh yadav 36 Azamgarh 26.000
2 Shiva tiwari 22 Bhopal 21.000

SQL ORDER POR DESC


A cláusula SQL ORDER BY DESC classifica os dados em ordem decrescente com base em algumas colunas.

Exemplo:

Vamos considerar os seguintes Clientes tabela.
ID NOME IDADE ENDEREÇO SALÁRIO
1 Himani gupta 21 Modinagar 22.000
2 Shiva tiwari 22 Bhopal 21.000
3 Ajeet bhargav 45 Meerut 65.000
4 Ritesh yadav 36 Azamgarh 26.000
5 Balwant singh 45 Varanasi 36000
6 Mahesh sharma 26 Mathura 22.000
SELECT *
 FROM CUSTOMERS
 ORDER BY NAME DESC; 

A consulta acima classificará todos os registros da tabela de forma decrescente com base na coluna NAME.

Saída:
ID NOME IDADE ENDEREÇO SALÁRIO
2 Shiva tiwari 22 Bhopal 21.000
4 Ritesh yadav 36 Azamgarh 26.000
6 Mahesh sharma 26 Mathura 22.000
1 Himani gupta 21 Modinagar 22.000
5 Balwant singh 45 Varanasi 36000
3 Ajeet bhargav 45 Meerut 65.000

SQL ORDER BY LIMIT


A cláusula SQL ORDER BY LIMIT ajuda a recuperar um número específico de registros da tabela do banco de dados. Geralmente é usado em situações onde há um grande número de tuplas que satisfazem a condição dada. Ele define um limite superior para o número de registros que estão sendo recuperados.

Para usar a cláusula LIMIT no SQL, deve-se usar o ROWNUM cláusula com ele.

Nota:Deve-se notar que a cláusula LIMIT não é suportada por todas as versões do SQL.

Esta cláusula pode ser especificada usando o SQL 2008 OFFSET ou cláusulas FETCH FIRST .

Exemplo:

Vamos considerar o seguinte Aluno tabela.
RollNo Nome Classificação
12001 Aditya 9
12002 Sahil 6
12003 Hema 8
12004 Robin 9
12005 Sita 7
12006 Ana 10
12007 Yusuf 7
12008 Alex 5
SELECT *
 FROM Student
 LIMIT 5; 

A consulta acima retornará apenas os 5 melhores alunos da tabela Aluno.

Saída:
12001 Aditya 9
12002 Sahil 6
12003 Hema 8
12004 Robin 9
12005 Sita 7

A cláusula LIMIT também pode ser usada com a cláusula ORDER BY.
SELECT *
 FROM Student
 ORDER BY Grade DESC
 LIMIT 3; 

A consulta acima retornará os 3 melhores alunos com as notas mais altas em ordem decrescente.

Saída:
12006 Ana 10
12001 Aditya 9
12004 Robin 9

O operador LIMIT é especialmente útil em situações em que dados limitados precisam ser recuperados sem usar nenhuma instrução condicional.

O operador LIMIT também pode ser usado com o operador OFFSET.

LIMIT com DESLOCAMENTO


Deve-se notar que o valor OFFSET deve ser maior que zero , e não pode ser negativo. Se for fornecido um valor negativo, retornará um erro.

Exemplo:

Vamos considerar a mesma tabela Student.
RollNo Nome Classificação
12001 Aditya 9
12002 Sahil 6
12003 Hema 8
12004 Robin 9
12005 Sita 7
12006 Ana 10
12007 Yusuf 7
12008 Alex 5
SELECT *
FROM Student
LIMIT 5 OFFSET 2
ORDER BY RollNo;

Essa consulta retornará os 5 principais registros da tabela Aluno, excluindo as 2 principais entradas.

Saída:
RollNo Nome Classificação
12003 Hema 8
12004 Robin 9
12005 Sita 7
12006 Ana 10
12007 Yusuf 7

LIMITAR TODOS

Existe outra cláusula semelhante a LIMIT conhecida como LIMIT ALL . A cláusula LIMIT ALL não colocará nenhum limite e retornará todas as entradas da tabela.

Exemplo:

Vamos considerar novamente a mesma tabela Student.
RollNo Nome Classificação
12001 Aditya 9
12002 Sahil 6
12003 Hema 8
12004 Robin 9
12005 Sita 7
12006 Ana 10
12007 Yusuf 7
12008 Alex 5

Consulta:
SELECT *
FROM Student
LIMIT ALL;
RollNo Nome Classificação
12001 Aditya 9
12002 Sahil 6
12003 Hema 8
12004 Robin 9
12005 Sita 7
12006 Ana 10
12007 Yusuf 7
12008 Alex 5

SQL ORDER BY várias colunas


O SQL ORDER BY Multiple Columns retornará as entradas de dados na coluna classificando-as usando várias colunas que foram fornecidas na consulta.

Ele classificará os dados com base na ordem dos nomes das colunas que foram fornecidos após a cláusula ORDER BY. O nome das colunas deve ser adicionado na ordem correspondente em que o usuário deseja que a ordenação aconteça.

Vários nomes de coluna podem ser adicionados separando-os usando uma vírgula (,). Além disso, as palavras-chave ASC ou DESC podem ser usadas para especificar a ordem da classificação.

Exemplo:

Vamos considerar o seguinte Funcionário tabela com quatro colunas, a saber, id, first_name, last_name e salário.
id first_name sobrenome salário
1 Lisa Ulman 3000
2 Ada Muller 2400
3 Thomas Verde 2400
4 Michael Muller 3000
5 Maria Verde 2400

Consulta:
SELECT id,  
 first_name,
 last_name,
 salary
 FROM employee
 ORDER BY salary DESC, last_name; 

Saída:
id first_name sobrenome salário
4 Michael M uller 3000
1 Lisa U lman 3000
3 Thomas G reen 2400
5 Maria G reen 2400
2 Ada M uller 2400

Assim, primeiro, a saída foi classificada por salário em ordem decrescente e depois por sobrenome em ordem crescente. Deve-se notar que se ASC ou DESC não for mencionado, ele irá, por padrão, classificar ambas as colunas em ordem crescente.

Conclusão

Então, acima estão algumas das cláusulas ORDER BY mais importantes e frequentemente usadas que são usadas pelos desenvolvedores diariamente para realizar operações específicas no banco de dados e recuperar dados. Essas cláusulas podem ser utilizadas individualmente ou também podem ser utilizadas em conjunto, de forma combinada, para realizar operações de banco de dados.