Olá, Arthur! Tudo bem?
A consulta com FULL JOIN
retorna os mesmos resultados que LEFT JOIN
, RIGHT JOIN
ou até INNER JOIN
porque,neste caso específico, os dados das tabelas Clientes
e Pedidos
estão todos relacionados de forma completa. Ou seja:
- Todos os clientes têm pelo menos um pedido (não há clientes “órfãos”);
- Todos os pedidos têm um cliente associado (não há pedidos “órfãos”).
Quando não há registros soltos de um lado ou de outro, qualquer tipo de JOIN
acaba trazendo só os pares que combinam. Por isso, o resultado pode ser o mesmo.
Mas isso não significa que os JOINs são equivalentes. Eles têm comportamentos diferentes que só aparecem quando os dados estão incompletos. Por exemplo:
- Se houver um cliente sem pedido, ele só aparece no
LEFT JOIN
ou FULL JOIN
. - Se houver um pedido sem cliente, ele só aparece no
RIGHT JOIN
ou FULL JOIN
. - O
INNER JOIN
ignora todos esses casos e mostra apenas os registros com correspondência dos dois lados.
Espero ter ajudado.
Qualquer dúvida que surgir, compartilhe no fórum. Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!