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 nomeTabela
ORDER 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_aluno
FROM Alunos
ORDER 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_aluno
FROM Alunos
ORDER 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 nomeTabela
WHERE condição
ORDER BY colunaX ASC | DESC;