Por padrão, as linhas em uma tabela de banco de dados ou no conjunto de resultados de uma consulta não têm garantia de estar em nenhuma ordem específica. Para organizar as linhas de saída em uma sequência significativa, usamos a cláusula ORDER BY.
A cláusula ORDER BY é adicionada ao final de uma instrução SELECT para ordenar o conjunto de resultados com base em uma ou mais colunas.
SELECT coluna1, coluna2, ...
FROM nome_da_tabela
ORDER BY coluna1 [ASC|DESC], coluna2 [ASC|DESC], ...;
coluna1, coluna2, ...: As colunas pelas quais você deseja ordenar.ASC: Ordena os dados em ordem crescente (do menor para o maior, de A a Z). Este é o padrão.DESC: Ordena os dados em ordem decrescente (do maior para o menor, de Z a A).Para ordenar por uma coluna, basta especificar seu nome após a palavra-chave ORDER BY.
Esta consulta recupera todos os atores e os ordena alfabeticamente pelo sobrenome.
SELECT first_name, last_name
FROM actor
ORDER BY last_name;
Se você quiser ordená-los em ordem alfabética inversa:
SELECT first_name, last_name
FROM actor
ORDER BY last_name DESC;
Você pode ordenar por múltiplas colunas listando-as separadas por vírgulas. O banco de dados ordena primeiro pela primeira coluna e, se houver valores duplicados nessa coluna, ordena esses duplicados pela segunda coluna, e assim por diante.
Isso é útil quando vários atores compartilham o mesmo sobrenome.
SELECT first_name, last_name
FROM actor
ORDER BY last_name, first_name; -- Primeiro por last_name, depois por first_name para empates
Na maioria dos dialetos SQL, você também pode ordenar pelo alias de uma coluna ou por sua posição numérica na lista SELECT.
SELECT first_name || ' ' || last_name AS full_name
FROM actor
ORDER BY full_name;
-- Ordena pela segunda coluna (last_name)
SELECT first_name, last_name
FROM actor
ORDER BY 2;
Principais conclusões desta lição:
ORDER BY para ordenar as linhas em seu conjunto de resultados.ASC (padrão) ordena em ordem crescente; DESC ordena em ordem decrescente.Na próxima lição, aprenderemos sobre Funções de Agregação, que nos permitem realizar cálculos em conjuntos de dados.