🧠 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
noORDER BY
pra ordenações personalizadas (ex: status). -
COALESCE
é o substituto deNVL
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í.