devterview_$ iniciar simulação

Diferença entre INNER JOIN, LEFT JOIN e FULL JOIN

FácilJúniorConsultas

Pergunta

Explique a diferença entre INNER JOIN, LEFT JOIN e FULL OUTER JOIN, e dê um exemplo de quando usaria cada um.

Resposta esperada

INNER JOIN retorna apenas as linhas com correspondência nas duas tabelas. LEFT JOIN retorna todas as linhas da tabela da esquerda, preenchendo com NULL quando não há correspondência na direita. FULL OUTER JOIN retorna todas as linhas de ambas, com NULL nos lados sem correspondência. Use INNER quando o dado só faz sentido se existir nos dois lados (ex: pedidos com cliente válido); LEFT quando quer manter todos os registros de um lado mesmo sem relação (ex: todos os clientes, mesmo sem pedidos); FULL quando precisa ver o que não bate dos dois lados (ex: auditoria de reconciliação).

Por que perguntam isso

O erro comum é achar que LEFT JOIN 'filtra menos' — na verdade ele preserva a cardinalidade da tabela da esquerda. Peça ao candidato para desenhar duas tabelas pequenas e simular o resultado; isso revela rápido se o conceito está sólido.

#joins#fundamentos
publicidade

Perguntas de acompanhamento

Relacionadas