🧠 Explicação

Esses comandos são essenciais pra controle de fluxo, tratamento de nulos e substituições condicionais direto nas consultas. São usados principalmente em SELECT, UPDATE, INSERT e ORDER BY, deixando o SQL mais inteligente e dinâmico.

🔹 CASE

Funciona como um IF-ELSE. Permite testar condições e retornar valores diferentes.

SELECT nome,
       CASE cargo
            WHEN 'GERENTE' THEN 'Liderança'
            WHEN 'ANALISTA' THEN 'Técnico'
            ELSE 'Outros'
       END AS tipo_funcionario
FROM funcionarios;

✔️ Dá pra usar com WHEN ... THEN ... ELSE ... END
✔️ Também aceita condições completas:

CASE 
   WHEN salario > 10000 THEN 'ALTO'
   WHEN salario BETWEEN 5000 AND 10000 THEN 'MÉDIO'
   ELSE 'BAIXO'
END

🔹 COALESCE

Retorna o primeiro valor não nulo de uma lista.

SELECT nome, COALESCE(email, 'sem email') AS contato
FROM clientes;

✔️ Substitui valores nulos de forma simples
✔️ Pode ser encadeado: COALESCE(campo1, campo2, campo3, 'padrão')

🔹 NULLIF

Compara dois valores e retorna NULL se forem iguais, senão retorna o primeiro.

SELECT NULLIF(quantidade_pedida, 0)
FROM pedidos;

✔️ Muito útil pra evitar divisão por zero:

SELECT total / NULLIF(qtd, 0)
FROM vendas;

💡 Dicas

  • Use CASE no ORDER BY pra ordenações personalizadas (ex: status).

  • COALESCE é o substituto de NVL em ambientes ANSI SQL.

  • NULLIF é excelente pra lógica de “ignorar se for igual”.

 

✅ Conclusão

Esses comandos deixam seu SQL inteligente, legível e poderoso. São o canivete suíço pra relatórios, tratamentos e cálculos que exigem lógica dentro do banco de dados. Dominou eles? Já tá um passo à frente de muito dev por aí.