Junior — Middle
Explique as diferenças entre os diferentes tipos de junções de tabelas em SQL.
sobes.tech IA
Resposta da IA
No SQL, existem vários tipos principais de junções (JOIN) que permitem combinar dados de duas ou mais tabelas:
- INNER JOIN — devolve apenas os registos que têm correspondências em ambas as tabelas.
- LEFT JOIN (ou LEFT OUTER JOIN) — devolve todos os registos da tabela da esquerda e as correspondências da direita; se não houver correspondências, os campos da direita serão NULL.
- RIGHT JOIN (ou RIGHT OUTER JOIN) — devolve todos os registos da tabela da direita e as correspondências da esquerda.
- FULL JOIN (ou FULL OUTER JOIN) — devolve todos os registos de ambas as tabelas, preenchendo com NULL onde não há correspondências.
Exemplo:
SELECT users.name, orders.id
FROM users
LEFT JOIN orders ON users.id = orders.user_id;
Esta consulta retornará todos os utilizadores e os seus pedidos, se existirem; se não houver pedidos, os campos de orders serão NULL.