COBOL Dicas
  • Home
  • COBOL
  • CICS
  • DB2
  • JCL
  • Códigos de Erro
  • Exemplos de Código
  • Fórum
  • Blog / Notícias
  • YouTube
  • 🛢️ Introdução ao DB2
  • 🛢️ Modelo de Dados Relacional
  • 🛢️ Chave (Key)
  • 🛢️ Tipos de Dados

Comandos DB2

  • 🛢️ ALTER
  • 🛢️ CREATE
  • 🛢️ DELETE
  • 🛢️ DROP
  • 🛢️ Funções Incorporadas (Built-in Functions)
  • 🛢️ INDEX (CREATE INDEX / DROP INDEX)
  • 🛢️ INSERT
  • 🛢️ MERGE
  • 🛢️ SELECT
  • 🛢️ TRUNCATE
  • 🛢️ UPDATE
  • 🛢️ VIEW (CREATE VIEW / DROP VIEW)

Cláusulas DB2

  • 🛢️ CASE / COALESCE / NULLIF
  • 🛢️ DISTINCT
  • 🛢️ EXISTS / NOT EXISTS
  • 🛢️ GROUP BY
  • 🛢️ HAVING
  • 🛢️ INNER JOIN
  • 🛢️ JOIN (Junção de Tabelas)
  • 🛢️ Operadores de Condição: BETWEEN, IN, LIKE, IS NULL, NOT
  • 🛢️ ORDER BY
  • 🛢️ SUBQUERIES (Subconsultas)
  • 🛢️ UNION / UNION ALL
  • 🛢️ WHERE
  1. Início
  2. DB2
  3. Cláusulas

🛢️ ORDER BY

🧠 Explicação

O comando ORDER BY é utilizado em instruções SQL para ordenar as linhas retornadas por uma consulta. Ele define a ordem de apresentação dos registros na tabela de resultados, podendo ser crescente (ASC) ou decrescente (DESC).

Se nenhuma direção for informada, o padrão é crescente. Também é possível definir se os valores NULL devem aparecer primeiro (NULLS FIRST) ou por último (NULLS LAST).

🔧 Usos mais comuns

  • Organizar os resultados por um ou mais campos.

  • Listar dados de forma ordenada para facilitar leitura e análise.

  • Aplicar ordenações múltiplas (por exemplo: ordenar por nome e depois por data).

  • Controlar a posição de valores nulos no resultado.

🧾 Sintaxe

SELECT coluna1, coluna2, ...
FROM nome_tabela
ORDER BY coluna1 [ASC | DESC] [NULLS FIRST | NULLS LAST],
         coluna2 [ASC | DESC], ...;

📌 Regras

  • Você pode ordenar por qualquer coluna da seleção, inclusive por expressões.

  • Também é possível ordenar pelas posições das colunas, usando inteiros:
    ORDER BY 1 ordena pela primeira coluna selecionada.

  • Não é permitido ordenar por colunas de tipos como CLOB, BLOB, XML ou tipos estruturados.

  • Quando há colunas com o mesmo valor, a ordem desses registros é arbitrária (não garantida).

  • Pode-se ordenar por colunas apelidadas com AS, desde que o nome seja usado no ORDER BY.

💻 Exemplo prático

SELECT empnome, empsala
FROM emp
ORDER BY empnome ASC;

Esse exemplo lista os nomes e salários dos empregados em ordem alfabética crescente de nome.

🔀 Exemplo com múltiplas ordenações

SELECT empnome, empsala, empserv
FROM emp
ORDER BY empserv ASC, empsala DESC;

Primeiro ordena por função (empserv), depois por salário (empsala) em ordem decrescente dentro de cada função.

❗ Exemplo com tratamento de valores nulos

SELECT empnome, empcomi
FROM emp
ORDER BY empcomi DESC NULLS LAST;

Ordena os empregados pela comissão de forma decrescente, deixando os valores nulos por último.

📎 Dicas

  • Use ORDER BY coluna DESC para exibir os maiores valores primeiro.

  • Combine ORDER BY com DISTINCT com cautela — nem toda coluna pode ser usada.

  • Ao ordenar por expressões (ex: empsala * 2), utilize o número da coluna na ordem:

SELECT empnome, empsala * 2
FROM emp
ORDER BY 2;

⚠️ Condições que podem ocorrer

  • INVREQ: uso inválido da cláusula (ex: tentar ordenar por um tipo não permitido).

  • LENGERR: erro de comprimento em expressões de ordenação.

  • Outros erros podem ocorrer dependendo da subconsulta ou do contexto.

 

✅ Conclusão

A cláusula ORDER BY é essencial para organizar a apresentação dos dados em consultas SQL. Ela oferece flexibilidade para múltiplas ordenações, definição da posição de valores nulos e uso de colunas por posição ou nome. Saber usá-la bem é fundamental para produzir relatórios legíveis e bem organizados em ambientes DB2.

Tópicos recentes - DB2

  • Primeira consulta SQL no DB2: um marco para todo programador! - por: bopnet

Siga o COBOL Dicas

  • 📺 YouTube | 📘 Facebook | 💼 LinkedIn | 🐦 X (Twitter) | 📷 Instagram | 💬 Fórum COBOL | 📂 GitHub | ✉️ E-mail

© 2025 COBOL Dicas | Powered by Joomla | Desenvolvido por José Roberto

  • ⚖️ Direito de Conteúdo
  • ❓ FAQ / Guia Rápido
  • 📩 Contato
  • 📜 Informações Legais
  • 🔒 Política de Privacidade
  • 👤 Quem Somos