CASE WHEN em SQL: exemplos práticos
Use CASE WHEN para criar classificações, descrições, faixas de valores e regras condicionais diretamente na consulta SQL.
Exemplo básico
SELECT
nome,
nota,
CASE
WHEN nota >= 7 THEN 'Aprovado'
ELSE 'Reprovado'
END AS resultado
FROM alunos;
Criar faixas
SELECT
valor,
CASE
WHEN valor < 100 THEN 'Baixo'
WHEN valor < 1000 THEN 'Médio'
ELSE 'Alto'
END AS faixa
FROM pedidos;
As condições são avaliadas de cima para baixo. A primeira condição verdadeira determina o resultado.
CASE WHEN dentro de agregações
SELECT
COUNT(*) AS total,
SUM(CASE WHEN situacao = 'ATIVO' THEN 1 ELSE 0 END) AS ativos,
SUM(CASE WHEN situacao = 'INATIVO' THEN 1 ELSE 0 END) AS inativos
FROM clientes;
Ordenação personalizada
SELECT id, nome, prioridade
FROM tarefas
ORDER BY CASE prioridade
WHEN 'ALTA' THEN 1
WHEN 'MEDIA' THEN 2
WHEN 'BAIXA' THEN 3
ELSE 4
END;
Assuntos:CASE WHENcondiçãoconsulta