ORDENAR POR
A ORDER BY cláusula é usada no SQL para classificar o conjunto de resultados de uma SELECT instrução. Isso significa que organiza as linhas da saída com base nos valores de uma ou mais colunas.
Isso é essencial para organizar dados de uma maneira que facilite a interpretação e o uso. Você pode especificar uma ou mais colunas para classificar e você tem controle sobre a ordem de classificação: crescente (da menor para a maior ou de A a Z) ou decrescente (de maior para menor ou Z a A). Sem ORDER BY, a ordem das linhas retornadas é imprevisível.
Classificação em ordem crescente (padrão)
SELECT *
FROM sales.products
ORDER BY price;
Essa consulta recupera produtos classificados por preço em ordem crescente, que é o comportamento padrão de ORDER BY.
Embora seja redundante, você pode adicionar ASC explicitamente no final da consulta, o que pode melhorar a legibilidade.
Para alterar a ordem, você precisa indicar isso explicitamente, conforme demonstrado no exemplo a seguir.
Classificação em ordem decrescente
SELECT *
FROM sales.products
ORDER BY price DESC;
Essa consulta recupera produtos classificados por preço em ordem decrescente.
Classificação por várias colunas
SELECT *
FROM sales.customers
ORDER BY country, city;
Essa consulta recupera todas as colunas (*) da sales.customers tabela e classifica as linhas resultantes.
A classificação é feita em dois níveis: – Primeiro, os resultados são classificados em ordem alfabética pela coluna do país. Isso significa que todos os clientes da "Argentina" serão agrupados, seguidos por clientes da "Áustria", e assim por diante.
- Dentro de cada grupo de clientes do mesmo país, os resultados são classificados em ordem alfabética pela coluna da cidade. Portanto, se você tiver vários clientes da "Alemanha", eles serão ordenados por seus nomes de cidade (por exemplo, "Aachen" antes de "Berlim").
Em essência, essa consulta fornece uma lista de clientes que é organizada principalmente por country e, em seguida, dentro de cada country, organizada por city. Isso facilita a localização de clientes de uma região específica.
Além disso, combinar essa abordagem com ASC ou DESC modificadores permite controle total sobre a direção de classificação para cada coluna.
SELECT *
FROM sales.customers
ORDER BY country ASC, city DESC;
Essa consulta classificaria os países em ordem crescente enquanto organizavam cidades dentro de cada país em ordem decrescente.