- Sempre que quisermos ordenar os registros com base nas colunas armazenadas nas tabelas do banco de dados SQL, consideramos o uso da cláusula ORDER BY no SQL.
- A cláusula ORDER BY em SQL nos ajuda a classificar os registros com base na coluna específica de uma tabela. Isso significa que inicialmente todos os valores armazenados na coluna na qual estamos aplicando a cláusula ORDER BY serão ordenados. Em seguida, os valores da coluna correspondente serão exibidos na mesma sequência em que os valores que obtivemos na etapa anterior.
- Usando a cláusula ORDER BY, podemos classificar os registros em ordem crescente ou decrescente conforme nossa necessidade. Os registros serão classificados em ordem crescente sempre que a palavra-chave ASC for usada com a cláusula ORDER by. A palavra-chave DESC classificará os registros em ordem decrescente . Se nenhuma palavra-chave for especificada após a coluna com base na qual devemos classificar os registros, então, nesse caso, a classificação será feita por padrão em ordem crescente.
Antes de escrever as consultas para classificação dos registros, vamos entender a sintaxe.
Sintaxe para ordenar os registros em ordem decrescente:
SELECT ColumnName1,…,ColumnNameN FROM TableName ORDER BY ColumnNameDESC;
Vamos explorar mais sobre este tópico com a ajuda de exemplos. Usaremos o banco de dados MySQL para escrever as consultas nos exemplos.
Considere que temos uma tabela de clientes com os seguintes registros:
EU IA | NOME | IDADE | ENDEREÇO | SALÁRIO |
---|---|---|---|---|
1 | Himani Gupta | vinte e um | Modi Nagar | 22.000 |
2 | Shiva Tiwari | 22 | Bhopal | 21.000 |
3 | Ajeet Bhargav | Quatro cinco | Meerut | 65.000 |
4 | Ritesh Yadav | 36 | Azamgarh | 26.000 |
5 | Balwant Singh | Quatro cinco | Varanasi | 36.000 |
6 | Mahesh Sharma | 26 | Mathura | 22.000 |
7 | Rohit Srivastava | 19 | Ahmedabad | 38.000 |
8 | Neeru Sharma | 29 | Puna | 40.000 |
9 | Akash Yadav | 32 | Bombaim | 43500 |
10 | Sahil Sheik | 35 | Aurangabad | 68800 |
Exemplo 1:
Escreva uma consulta para classificar os registros em ordem decrescente dos nomes dos clientes armazenados na tabela de clientes.
Consulta:
mysql> SELECT *FROM customers ORDER BY Name DESC;
Aqui em uma consulta SELECT, uma cláusula ORDER BY é aplicada na coluna 'Nome' para classificar os registros. A palavra-chave DESC classificará os registros em ordem decrescente.
Você obterá a seguinte saída:
EU IA | NOME | IDADE | ENDEREÇO | SALÁRIO |
---|---|---|---|---|
2 | Shiva Tiwari | 22 | Bhopal | 21.000 |
10 | Sahil Sheik | 35 | Aurangabad | 68800 |
7 | Rohit Srivastava | 19 | Ahmedabad | 38.000 |
4 | Ritesh Yadav | 36 | Azamgarh | 26.000 |
8 | Neeru Sharma | 29 | Puna | 40.000 |
6 | Mahesh Sharma | 26 | Mathura | 22.000 |
1 | Himani Gupta | vinte e um | Modi Nagar | 22.000 |
5 | Balwant Singh | Quatro cinco | Varanasi | 36.000 |
3 | Ajeet Bhargav | Quatro cinco | Meerut | 65.000 |
9 | Akash Yadav | 32 | Bombaim | 43500 |
Todos os registros presentes na tabela de clientes são apresentados em ordem decrescente do nome do cliente.
Exemplo 2:
Escreva uma consulta para classificar os registros em ordem decrescente dos endereços armazenados na tabela de clientes.
Consulta:
mysql> SELECT *FROM customers ORDER BY Address DESC;
Aqui, em uma consulta SELECT, uma cláusula ORDER BY é aplicada à coluna 'Endereço' para classificar os registros. A palavra-chave DESC classificará os registros em ordem decrescente.
Você obterá a seguinte saída:
EU IA | NOME | IDADE | ENDEREÇO | SALÁRIO |
---|---|---|---|---|
5 | Balwant Singh | Quatro cinco | Varanasi | 36.000 |
8 | Neeru Sharma | 29 | Puna | 40.000 |
9 | Akash Yadav | 32 | Bombaim | 43500 |
1 | Himani Gupta | vinte e um | Modi Nagar | 22.000 |
3 | Ajeet Bhargav | Quatro cinco | Meerut | 65.000 |
6 | Mahesh Sharma | 26 | Mathura | 22.000 |
2 | Shiva Tiwari | 22 | Bhopal | 21.000 |
4 | Ritesh Yadav | 36 | Azamgarh | 26.000 |
10 | Sahil Sheik | 35 | Aurangabad | 68800 |
7 | Rohit Srivastava | 19 | Ahmedabad | 38.000 |
Todos os registros presentes na tabela de clientes são exibidos em ordem decrescente do endereço do cliente.
Exemplo 3:
Escreva uma consulta para classificar os registros em ordem decrescente do salário do cliente armazenado na tabela clientes.
Consulta:
mysql> SELECT *FROM customers ORDER BY Salary DESC;
Aqui em uma consulta SELECT, uma cláusula ORDER BY é aplicada na coluna 'Salário' para classificar os registros. A palavra-chave DESC classificará os registros em ordem decrescente.
Você obterá a seguinte saída:
EU IA | Nome | Idade | Endereço | Salário |
---|---|---|---|---|
10 | Sahil Sheik | 35 | Aurangabad | 68800 |
3 | Ajeet Bhargav | Quatro cinco | Meerut | 65.000 |
9 | Akash Yadav | 32 | Bombaim | 43500 |
8 | Neeru Sharma | 29 | Puna | 40.000 |
7 | Rohit Srivastava | 19 | Ahmedabad | 38.000 |
5 | Balwant Singh | Quatro cinco | Varanasi | 36.000 |
4 | Ritesh Yadav | 36 | Azamgarh | 26.000 |
6 | Mahesh Sharma | 26 | Mathura | 22.000 |
1 | Himani Gupta | vinte e um | Modi Nagar | 22.000 |
2 | Shiva Tiwari | 22 | Bhopal | 21.000 |
Todos os registros presentes na tabela de clientes são apresentados em ordem decrescente do salário do cliente.
Exemplo 4:
Escreva uma consulta para classificar os registros em ordem decrescente da idade do cliente armazenada na tabela clientes.
Consulta:
mysql> SELECT *FROM customers ORDER BY Age DESC;
Aqui em uma consulta SELECT, uma cláusula ORDER BY é aplicada na coluna 'Idade' para classificar os registros. A palavra-chave DESC classificará os registros em ordem decrescente.
Você obterá a seguinte saída:
EU IA | Nome | Idade | Endereço | Salário |
---|---|---|---|---|
3 | Ajeet Bhargav | Quatro cinco | Meerut | 65.000 |
5 | Balwant Singh | Quatro cinco | Varanasi | 36.000 |
4 | Ritesh Yadav | 36 | Azamgarh | 26.000 |
10 | Sahil Sheik | 35 | Aurangabad | 68800 |
9 | Akash Yadav | 32 | Bombaim | 43500 |
8 | Neeru Sharma | 29 | Puna | 40.000 |
6 | Mahesh Sharma | 26 | Mathura | 22.000 |
2 | Shiva Tiwari | 22 | Bhopal | 21.000 |
1 | Himani Gupta | vinte e um | Modi Nagar | 22.000 |
7 | Rohit Srivastava | 19 | Ahmedabad | 38.000 |
Todos os registros presentes na tabela de clientes são apresentados em ordem decrescente de idade do cliente.
Considere que temos outra tabela chamada agentes com os seguintes registros:
AJUDA | Nome | Área de trabalho | Lucro_Porcentagem | Número de contato | Salário |
---|---|---|---|---|---|
1 | Gurpreet Singh | Bangalore | 1 | 9989675432 | 43.000 |
2 | Sakshi Kumari | Chennai | 5 | 8190567342 | 25.000 |
3 | Prachi Desai | Bombaim | 2 | 9056123432 | 60.000 |
4 | ShivaniMais | Puna | 3 | 8894236789 | 35.500 |
5 | Pallavi Singh | Délhi | 4 | 7798092341 | 38700 |
6 | Rohini Kulkarni | Ambala | 8 | 7890945612 | 25670 |
7 | Shweta disse | Chandigarh | 6 | 8898786453 | 31670 |
8 | Sonakshi Tiwari | Udaipur | 2 | 9809453421 | 25050 |
9 | Anushka Tripathi | Em seus dedos | 9 | 8909124326 | 38.000 |
10 | Devika Sharma | Goa | 7 | 7864523145 | 44050 |
Exemplo 1:
Escreva uma consulta para classificar os registros em ordem decrescente dos nomes dos agentes armazenados na tabela de agentes.
comando no nó js
Consulta:
mysql> SELECT *FROM agents ORDER BY Name DESC;
Aqui em uma consulta SELECT, uma cláusula ORDER BY é aplicada na coluna 'Nome' para classificar os registros. A palavra-chave DESC classificará os registros em ordem decrescente.
Você obterá a seguinte saída:
AJUDA | Nome | Área de trabalho | Lucro_Porcentagem | Número de contato | Salário |
---|---|---|---|---|---|
8 | Sonakshi Tiwari | Udaipur | 2 | 9809453421 | 25050 |
7 | Shweta disse | Chandigarh | 6 | 8898786453 | 31670 |
4 | ShivaniMais | Puna | 3 | 8894236789 | 35.500 |
2 | Sakshi Kumari | Chennai | 5 | 8190567342 | 25.000 |
6 | Rohini Kulkarni | Ambala | 8 | 7890945612 | 25670 |
3 | Prachi Desai | Bombaim | 2 | 9056123432 | 60.000 |
5 | Pallavi Singh | Délhi | 4 | 7798092341 | 38700 |
1 | Gurpreet Singh | Bangalore | 1 | 9989675432 | 43.000 |
10 | Devika Sharma | Goa | 7 | 7864523145 | 44050 |
9 | Anushka Tripathi | Em seus dedos | 9 | 8909124326 | 38.000 |
Todos os registros presentes na tabela de agentes são apresentados em ordem decrescente do nome do agente.
Exemplo 2:
Escreva uma consulta para classificar os registros em ordem decrescente do salário do agente armazenado na tabela de agentes.
Consulta:
mysql> SELECT *FROM agents ORDER BY Salary DESC;
Aqui em uma consulta SELECT, uma cláusula ORDER BY é aplicada na coluna 'Salário' para classificar os registros. A palavra-chave DESC classificará os registros em ordem decrescente.
Você obterá a seguinte saída:
AJUDA | Nome | Área de trabalho | Lucro_Porcentagem | Número de contato | Salário |
---|---|---|---|---|---|
3 | Prachi Desai | Bombaim | 2 | 9056123432 | 60.000 |
10 | Devika Sharma | Goa | 7 | 7864523145 | 44050 |
1 | Gurpreet Singh | Bangalore | 1 | 9989675432 | 43.000 |
5 | Pallavi Singh | Délhi | 4 | 7798092341 | 38700 |
9 | Anushka Tripathi | Em seus dedos | 9 | 8909124326 | 38.000 |
4 | ShivaniMais | Puna | 3 | 8894236789 | 35.500 |
7 | Shweta disse | Chandigarh | 6 | 8898786453 | 31670 |
6 | Rohini Kulkarni | Ambala | 8 | 7890945612 | 25670 |
8 | Sonakshi Tiwari | Udaipur | 2 | 9809453421 | 25050 |
2 | Sakshi Kumari | Chennai | 5 | 8190567342 | 25.000 |
Todos os registros presentes na tabela de agentes são apresentados em ordem decrescente do salário do agente.
Exemplo 3:
Escreva uma consulta para ordenar os registros em ordem decrescente da área de trabalho do agente armazenada na tabela de agentes.
Consulta:
mysql> SELECT *FROM agents ORDER BY WorkArea DESC;
Aqui em uma consulta SELECT, uma cláusula ORDER BY é aplicada na coluna 'WorkArea' para classificar os registros. A palavra-chave DESC classificará os registros em ordem decrescente.
Você obterá a seguinte saída:
AJUDA | Nome | Área de trabalho | Lucro_Porcentagem | Número de contato | Salário |
---|---|---|---|---|---|
9 | Anushka Tripathi | Em seus dedos | 9 | 8909124326 | 38.000 |
8 | Sonakshi Tiwari | Udaipur | 2 | 9809453421 | 25050 |
4 | ShivaniMais | Puna | 3 | 8894236789 | 35.500 |
3 | Prachi Desai | Bombaim | 2 | 9056123432 | 60.000 |
10 | Devika Sharma | Goa | 7 | 7864523145 | 44050 |
5 | Pallavi Singh | Délhi | 4 | 7798092341 | 38700 |
2 | Sakshi Kumari | Chennai | 5 | 8190567342 | 25.000 |
7 | Shweta disse | Chandigarh | 6 | 8898786453 | 31670 |
1 | Gurpreet Singh | Bangalore | 1 | 9989675432 | 43.000 |
6 | Rohini Kulkarni | Ambala | 8 | 7890945612 | 25670 |
Todos os registros presentes na tabela de agentes são exibidos em ordem decrescente da área de trabalho do agente.
Exemplo 4:
Escreva uma consulta para classificar os registros em ordem decrescente da porcentagem de lucro do agente armazenada na tabela de agentes.
Consulta:
mysql> SELECT *FROM agents ORDER BY Profit_Percent DESC;
Aqui em uma consulta SELECT, uma cláusula ORDER BY é aplicada na coluna 'Profit_Percent' para classificar os registros. A palavra-chave DESC classificará os registros em ordem decrescente.
Você obterá a seguinte saída:
AJUDA | Nome | Área de trabalho | Lucro_Porcentagem | Número de contato | Salário |
---|---|---|---|---|---|
9 | Anushka Tripathi | Em seus dedos | 9 | 8909124326 | 38.000 |
6 | Rohini Kulkarni | Ambala | 8 | 7890945612 | 25670 |
10 | Devika Sharma | Goa | 7 | 7864523145 | 44050 |
7 | Shweta disse | Chandigarh | 6 | 8898786453 | 31670 |
2 | Sakshi Kumari | Chennai | 5 | 8190567342 | 25.000 |
5 | Pallavi Singh | Délhi | 4 | 7798092341 | 38700 |
4 | ShivaniMais | Puna | 3 | 8894236789 | 35.500 |
3 | Prachi Desai | Bombaim | 2 | 9056123432 | 60.000 |
8 | Sonakshi Tiwari | Udaipur | 2 | 9809453421 | 25050 |
1 | Gurpreet Singh | Bangalore | 1 | 9989675432 | 43.000 |
Todos os registros presentes na tabela de agentes são exibidos em ordem decrescente do percentual de lucro do agente.