24. ORDER BY
Última atualização em 11 mai. 2024
A instrução ORDER BY é usada para ordenar os resultados de uma consulta SQL. Por padrão, o ORDER BY retornará os resultados em ordem crescente (ascendente). No entanto, é possível inverter a ordem e obter os resultados em ordem descendente. A sintaxe é a seguinte:
SELECT coluna1, coluna2, ...FROM nomeTabelaORDER BY coluna1 ASC | DESC;Exemplo:
Tabela Alunos
| id_aluno | nome_aluno | cidade_aluno |
| 1 | Uianes | Santo Augusto |
| 2 | Maria | Três Passos |
| 3 | José | Santo Augusto |
| 4 | Antônio | Santo Augusto |
| 5 | João | Tenente Portela |
SELECT nome_aluno, cidade_alunoFROM AlunosORDER BY nome_aluno ASC;Resultado:
| nome_aluno |
| Antônio |
| João |
| José |
| Maria |
| Uianes |
Perceba que os nomes agora estão organizados em ordem alfabética ascendente. Caso o comando recebesse DESC, a ordem seria invertida.
SELECT nome_aluno, cidade_alunoFROM AlunosORDER BY nome_aluno DESC;Resultado:
| nome_aluno |
| Uianes |
| Maria |
| José |
| João |
| Antônio |
Ordenação múltipla: É possível ordenar valores através de duas ou mais colunas. Por exemplo, se existem 3 pessoas de "Santo Augusto", caso você deseje ordenar os alunos pela cidade, é possível fazer uma nova ordenação para que as pessoas da mesma cidade apareçam em ordem ascendente ou descendente.
Tabela Alunos
| id_aluno | nome_aluno | cidade_aluno |
| 1 | Uianes | Santo Augusto |
| 2 | Maria | Três Passos |
| 3 | José | Santo Augusto |
| 4 | Antônio | Santo Augusto |
| 5 | João | Tenente Portela |
| nome_aluno | cidade_aluno |
| Antônio | Santo Augusto |
| José | Santo Augusto |
| Uianes | Santo Augusto |
| João | Tenente Portela |
| Maria | Três Passos |
Observação: Caso você utilize ORDER BY junto com WHERE, a cláusula WHERE deve aparecer primeiro.
Sintaxe:
SELECT coluna1, coluna2, ...FROM nomeTabelaWHERE condiçãoORDER BY colunaX ASC | DESC;