Menu
Coddy logo textTech

COALESCE para NULLs

Parte da seção Além do Básico do Journey de SQL da Coddy. Lição 3 de 27.

COALESCE retorna o primeiro argumento que não é NULL:

COALESCE(nickname, first_name, 'Anonymous')

Lê da esquerda para a direita e para no primeiro valor não nulo. É a maneira mais limpa de fornecer um valor alternativo em uma consulta, sem precisar de CASE.

Usos comuns:

  • Mostrar 0 em vez de NULL de um LEFT JOIN: COALESCE(SUM(amount), 0)
  • Escolher o primeiro campo opcional não vazio: COALESCE(mobile, home, work)
challenge icon

Desafio

Fácil

Tabelas e colunas disponíveis:

  • users: id, display_name, email
  • orders: user_id, amount

Retorne uma linha por usuário com:

  • id
  • label: display_name se estiver definido; caso contrário, email; caso contrário, 'unknown'
  • total_spent: soma dos valores de amount dos pedidos do usuário; usuários sem pedidos devem exibir 0 (não NULL)

Ordene por id. Dica: um LEFT JOIN de users com orders, juntamente com COALESCE(SUM(...), 0), trata as linhas ausentes.

REQUIRED OUTPUT FORMAT: [Your translated content here]

Experimente você mesmo

SELECT u.id,
       -- label via COALESCE
       -- total_spent via COALESCE(SUM(...), 0)
FROM users u
LEFT JOIN orders o ON o.user_id = u.id
GROUP BY u.id
ORDER BY u.id
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Além do Básico

Pratique por conta própria: Playground de SQL