CodePráticov3.3.0
SQL

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;