Sobes.tech
Middle

Como trabalhas com SQL? Quais são as diferenças entre INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN?

sobes.tech IA

Resposta da IA

O JOIN em SQL é uma operação de união de dados de duas tabelas por um campo relacionado. As diferenças entre os tipos de JOIN:

  • INNER JOIN — devolve apenas os registos que têm correspondências em ambas as tabelas.

  • LEFT JOIN (LEFT OUTER JOIN) — devolve todos os registos da tabela da esquerda e as correspondências da direita; se não houver correspondências, na parte direita serão NULL.

  • RIGHT JOIN (RIGHT OUTER JOIN) — devolve todos os registos da tabela da direita e as correspondências da esquerda; se não houver correspondências, na parte esquerda serão NULL.

  • FULL OUTER JOIN — devolve todos os registos de ambas as tabelas; se não houver correspondências, na parte correspondente será NULL.

Exemplo:

SELECT A.id, A.name, B.order_date
FROM Customers A
LEFT JOIN Orders B ON A.id = B.customer_id;

Esta consulta retornará todos os clientes com os seus pedidos, se existirem, ou NULL no campo order_date se não houver pedidos.