24. ORDER BY

Escrito por Uianes Luiz Rockenbach Biondo.
Ú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

SELECT nome_aluno, cidade_aluno
FROM Alunos
ORDER BY cidade_aluno, nome_aluno ASC;

Resultado:

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;