Pular para o conteúdo principal
Documentos
FunçõesExpressõesKeywordsDeclaraçõesCláusulas

Cláusula ORDER BY do MySQL

A cláusula `ORDER BY` no MySQL é usada para classificar o conjunto de resultados de uma consulta por uma ou mais colunas. Ele permite a classificação em ordem crescente ou decrescente, o que pode ajudar a organizar os dados de forma significativa.

Uso

A cláusula `ORDER BY` é aplicada no final de uma instrução `SELECT` para classificar os dados recuperados. Você pode especificar a ordem crescente usando `ASC` (padrão) ou a ordem decrescente usando `DESC`.

SELECT column1, column2, ...
FROM table_name
ORDER BY column1 [ASC|DESC], column2 [ASC|DESC], ...;

Nessa sintaxe, `ORDER BY column1` classifica o resultado com base em `column1`, e colunas subsequentes podem ser adicionadas para classificação secundária.

Exemplos

1. Classificação básica

SELECT * 
FROM products
ORDER BY price;

Este exemplo classifica a tabela `produtos` pela coluna `preço` em ordem crescente por padrão.

2. Ordem decrescente

SELECT first_name, last_name
FROM employees
ORDER BY last_name DESC;

Aqui, a tabela `employees` é classificada por `last_name` em ordem decrescente, o que é útil para inverter a ordem alfabética.

3. Classificação em várias colunas

SELECT first_name, last_name, department
FROM employees
ORDER BY department ASC, last_name DESC;

Este exemplo classifica a tabela `employees` primeiro por `department` em ordem crescente e, em seguida, por `last_name` em ordem decrescente dentro de cada grupo de departamentos.

4. Classificação por expressões

SELECT product_name, price, quantity, (price * quantity) AS total_value
FROM products
ORDER BY total_value DESC;

Neste exemplo, a tabela `products` é classificada por um campo calculado `total_value`, que é uma expressão criada usando um alias.

Dicas e práticas recomendadas

  • Use índices de coluna. A classificação é mais eficiente em colunas indexadas, reduzindo o tempo de consulta.
  • Limite os resultados para o desempenho. Combine `ORDER BY` com `LIMIT` para controlar o número de linhas retornadas e melhorar o desempenho.
  • Especifique a direção de classificação. Indique explicitamente a direção de classificação (ASC ou DESC) para maior clareza, especialmente em consultas complexas.
  • Evite a classificação desnecessária. Use `ORDER BY` somente quando uma ordem específica for necessária para minimizar a sobrecarga da consulta.
  • Classifique por expressões e aliases. Utilize expressões ou campos calculados e classifique por seus aliases para obter uma ordenação mais dinâmica.
  • Manipulação de valores NULL. Por padrão, os valores NULL são classificados primeiro em ordem crescente e por último em ordem decrescente. Você pode fazer ajustes usando expressões se desejar uma ordem diferente.

Aprimoramento de SQL para iniciantes

Adquira as habilidades de SQL para interagir com seus dados e consultá-los.
Comece a aprender de graça