O T-SQL (Transact-SQL) é a linguagem SQL utilizada para consultas em bancos de dados da Microsoft. A instrução SELECT no T-SQL permite uma ampla variedade de operações, incluindo a classificação refinada dos dados utilizando a cláusula ORDER BY.
1️⃣ O que é a cláusula ORDER BY? 📌
A cláusula ORDER BY permite que os resultados de uma consulta sejam retornados em uma ordem específica. A ordenação pode ser feita por:
✔️ Nome da coluna
✔️ Alias (apelido) da coluna
✔️ Posição ordinal da coluna na lista SELECT
✔️ Colunas não incluídas no SELECT, mas disponíveis na cláusula FROM
Além disso, é possível definir se a ordenação será crescente (ASC) ou decrescente (DESC), bem como ordenar por múltiplas colunas, aplicando diferentes critérios para cada uma.
📌 Sintaxe básica:
SELECT coluna1, coluna2 FROM tabela ORDER BY coluna1 [ASC|DESC], coluna2 [ASC|DESC];
2️⃣ Exemplo Prático com a Tabela "VENDAS" 📊
No exemplo a seguir, a tabela VENDAS contém as colunas DtVenda (data da venda) e CliNome (nome do cliente). A consulta retorna os dados ordenados pela data de venda mais recente e, dentro das vendas do mesmo dia, os nomes dos clientes são classificados em ordem alfabética.
✅ Variações da cláusula ORDER BY
📌 1. Utilizando Aliases:
SELECT DataNascimento AS DtNasc, Nome AS NmCli FROM Data2Dev.dbo.d2d_Clientes ORDER BY DtNasc DESC, NmCli ASC;
🔹 Explicação: Ordena primeiro por DtNasc (data de nascimento) em ordem decrescente e depois por NmCli (nome do cliente) em ordem crescente.
📌 2. Utilizando os Nomes das Colunas:
SELECT DataNascimento AS DtNasc, Nome AS NmCli FROM Data2Dev.dbo.d2d_Clientes ORDER BY DataNascimento DESC, Nome ASC;
🔹 Explicação: Mesma ordenação do exemplo anterior, mas utilizando os nomes originais das colunas no ORDER BY.
📌 3. Utilizando a Posição Ordinal das Colunas:
SELECT DataNascimento AS DtNasc, Nome AS NmCli FROM Data2Dev.dbo.d2d_Clientes ORDER BY 1 DESC, 2 ASC;
🔹 Explicação: Aqui, 1 representa a primeira coluna (DataNascimento) e 2 representa a segunda coluna (Nome). A ordenação segue a mesma lógica dos exemplos anteriores.
🚀 Conclusão
A cláusula ORDER BY é essencial para organizar os dados retornados em uma consulta SQL. A escolha entre nomes de colunas, aliases ou posições ordinais depende do contexto e da necessidade do desenvolvedor. Praticar diferentes formas de utilização do ORDER BY ajuda a otimizar consultas e melhorar a legibilidade do código.