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.