Juniorjoinfundamentos

Como funciona LEFT JOIN na prática

Publicado em 2025-03-10

Pergunta

Explique a diferença entre INNER JOIN e LEFT JOIN e mostre um caso onde só LEFT JOIN resolve.

Explicação

LEFT JOIN preserva todas as linhas da tabela à esquerda e completa com NULL quando não há correspondência à direita. É essencial para responder perguntas do tipo "quem ainda não fez X".

Query SQL

sql
-- Clientes que nunca fizeram pedido
SELECT c.id, c.nome
FROM clientes c
LEFT JOIN pedidos p
  ON p.cliente_id = c.id
WHERE p.id IS NULL;

Resposta esperada

Lista de clientes sem nenhum pedido associado. INNER JOIN devolveria zero linhas porque exige correspondência.

Erros comuns

  • Aplicar filtros da tabela direita no WHERE em vez do ON, transformando o LEFT JOIN em INNER
  • Contar com COUNT(*) sem perceber que NULLs contam
  • Esquecer de qualificar colunas e gerar ambiguidade

Dica de entrevista

A pergunta "quem não fez X?" quase sempre é resolvida com LEFT JOIN + WHERE direita IS NULL.

Compartilhar: