SQL ORDER BY: Como organizar resultados de consultas

Com a cláusula SQL ORDER BY, você organiza resultados de consultas de dados de acordo com as suas necessidades específicas, em ordem crescente ou decrescente. Ao ordenar dados, na tabela alvo, em linhas e colunas, você melhora a visualização e a legibilidade deles. Use SQL ORDER BY para otimizar e acelerar análises de dados e consultas em conjuntos de dados complexos.

O que é o comando SQL ORDER BY?

Se você deseja ordenar dados e resultados de conjuntos de dados, simples ou complexos, na tabela alvo, utilize a cláusula SQL ORDER BY. Com ela, você pode definir que os resultados de uma consulta de dados sejam apresentados em ordem crescente ou decrescente. Assim, você obterá resultados de consultas mais bem organizados e fáceis de ler. Por padrão, o comando organiza os dados consultados em ordem crescente, ou seja, de A a Z ou do menor ao maior valor. Se preferir outra ordem, faça uso de palavras-chave opcionais, como ASC (ascendente) e DESC (descendente).

Você pode definir uma ou várias colunas para exibir resultados de uma consulta. Por apresentar dados de forma organizada, ORDER BY desempenha um papel importante em consultas de dados ordenadas e rápidas. A cláusula é frequentemente utilizada em combinação com SQL SELECT, SQL WHERE e, dependendo do caso, com outros operadores SQL ou funções, como SQL GROUP BY.

Dica

Quer saber mais sobre SQL, mas tem pouca experiência? Nosso guia introdutório ao SQL facilitará o seu aprendizado dessa linguagem de banco de dados tão requisitada.

Sintaxe de SQL ORDER BY

A sintaxe da cláusula ORDER BY é a seguinte:

SELECT  ColunaA, ColunaB, …  ou * 
FROM  Tabela 
ORDER BY  ColunaA, ColunaB,(opcional: ASC ou DESC)
sql
Nota

Se você especificar apenas uma coluna após ORDER BY, obterá uma coluna com resultados ordenados. Se especificar várias colunas, a cláusula primeiramente ordenará todos os resultados pela ColunaA. Se houver entradas idênticas em diferentes linhas, ela organizará as entradas pela ColunaB.

Você pode expandir a sintaxe de SQL ORDER BY com operadores e parâmetros. Com a cláusula WHERE, por exemplo, você define condições adicionais para restringir os resultados da consulta. A sintaxe, em combinação com WHERE, é a seguinte:

SELECT  ColunaA, ColunaB, …  ou * 
FROM  Tabela 
WHERE  ColunaA  =  'Condição de Busca' 
ORDER BY  ColunaA, ColunaB,(opcional: ASC ou DESC)
sql

Esses parâmetros podem ser utilizados:

  • SELECT: Com SQL SELECT, você define quais dados deseja analisar. Use um asterisco * para consultar o conjunto de dados completo ou especifique os nomes das colunas, caso deseje examinar colunas específicas.
  • FROM: Define a tabela cujos dados devem ser consultados.
  • WHERE: Com a cláusula opcional SQL WHERE, você define uma condição específica de busca para ordenar os resultados. Aqui, o operador de comparação =, ou os operadores SQL LIKE e SQL NOT podem ser utilizados.
  • ORDER BY: Define qual valor será usado para ordenar os resultados. Se você não adicionar ASC ou DESC, a ordem será automaticamente alfabética ou numericamente decrescente.
Nota

A cláusula SQL ORDER BY organiza valores NULL automaticamente ou de acordo com a ordem escolhida, dependendo do banco de dados. Em bancos de dados SQLite, MySQL e SQL Server, a cláusula interpreta valores NULL como os menores valores: na ordem crescente, eles aparecem no início. Em bancos de dados Oracle e PostgreSQL, valores NULL são considerados os maiores valores: na ordem crescente, eles aparecem no final.

Aplicações de SQL ORDER BY

Alguns casos práticos para a utilização da cláusula SQL ORDER BY incluem:

  • Ordenar informações de produtos por nome, categoria ou preço.
  • Organizar transações por valor, data ou nome.
  • Ordenar pedidos por quantidade ou avaliações.
  • Classificar funcionários por salário, tarefas, desempenho ou departamento.
  • Listar inventários por quantidade ou nome.
  • Ordenar entregas por código postal ou número de rastreamento.
  • Ordenar listas de clientes por região ou idade.
Dica

Com um sistema de gerenciamento de banco de dados seguro e escalável, você se beneficia de tempos de acesso rápidos, desempenho sob medida e alta disponibilidade. Isso é exatamente o que o SQL Server Hosting da IONOS oferece, além de altos níveis de proteção de dados, de acordo com as leis de segurança alemãs.

vServer (VPS) da IONOS

Hospedagem VPS poderosa e de baixo custo para rodar suas aplicações sob medida, com assistente pessoal e suporte 24 horas.

  • Armazenamento 100% SSD
  • Pronto em 55 segundos
  • Certificado SSL

Exemplos práticos de SQL ORDER BY

Para ilustrar o funcionamento da cláusula SQL ORDER BY, elaboramos três exemplos práticos:

Ordenar produtos por preço

Para ordenar produtos da categoria “Beleza”, em uma tabela “Produtos”, por preço e em ordem crescente, defina, com FROM que categoria deve ser ordenada. Com ORDER BY e ASC, você especifica que deseja ordenar por “Preço” e em ordem crescente. Observe:

SELECT  * 
FROM  Produtos 
WHERE  Categoria  = 'Beleza' 
ORDER BY  Preço  ASC;
sql

Filtrar grupos de clientes

Em uma tabela “Clientes”, você deseja ordenar alfabeticamente todos os clientes do Brasil usando a condição de ordenação “País”. Para organizar de A a Z, não é necessário adicionar ASC. Se desejar ordenar de Z a A, adicione DESC ao comando SQL ORDER BY:

SELECT  * 
FROM  Clientes 
WHERE  País = 'Brasil' 
ORDER BY  Nome  DESC;
sql

Ordenando com várias condições

Você deseja ordenar as entradas da categoria “Eletrônicos”, em uma tabela “Produtos”, pela quantidade de pedidos em ordem alfabética crescente. Para entradas com a mesma quantidade de pedidos, a ordenação deve respeitar a região. A sintaxe é a seguinte:

SELECT  * 
FROM  Produtos 
WHERE  Categoria  =  'Eletrônicos' 
ORDER BY  Quantidade_Pedidos ASC,  Região  DESC;
sql

Alternativas a SQL ORDER BY

Basicamente, não existe uma alternativa que exerça a mesma função de ORDER BY. No entanto, um dos comandos SQL frequentemente utilizados em combinação com o ORDER BY é o SQL GROUP BY. Enquanto o GROUP BY agrupa registros de colunas por categoria, por exemplo, você pode adicionalmente ordená-los com o ORDER BY.

Exemplo: Você deseja agrupar o valor do pedido dos clientes por país e, em seguida, ordenar de forma crescente pela quantidade média de pedidos, o que pode ser feito pela função de agregação SQL AVG. A sintaxe é a seguinte:

SELECT  País, AVG(Quantidade_Pedidos) 
FROM  Clientes 
WHERE  Categoria = 'Eletrônicos' 
GROUP BY  País 
ORDER BY  AVG(Quantidade_Pedidos) ASC;
sql

Com a cláusula SQL HAVING, você pode filtrar os registros ordenados por critérios e condições específicos. Com LIMIT, é possível restringir a quantidade de resultados a um número desejado.

Este artigo foi útil?
Para melhorar a sua experiência, este site usa cookies. Ao acessar o nosso site, você concorda com nosso uso de cookies. Mais informações
Page top