🔗
SQLIntermediário 9 min
SQL JOINs explicados
INNER, LEFT, RIGHT e FULL. Como juntar dados de duas tabelas sem se perder.
JOINs combinam linhas de duas tabelas com base em uma condição, geralmente uma chave estrangeira. O tipo de join define quais linhas aparecem.
INNER JOIN
joins.sql
-- só usuários que fizeram pedidos
SELECT u.nome, p.valor
FROM usuarios u
INNER JOIN pedidos p ON p.usuario_id = u.id;LEFT JOIN
LEFT JOIN traz todos os usuários, mesmo os que não fizeram pedidos — as colunas de pedidos virão NULL.
sql
SELECT u.nome, p.valor
FROM usuarios u
LEFT JOIN pedidos p ON p.usuario_id = u.id
WHERE p.id IS NULL; -- usuários SEM pedidos- INNER — só linhas que casam nos dois lados.
- LEFT — tudo da tabela esquerda, NULL quando não casa.
- RIGHT — espelho do LEFT.
- FULL — tudo dos dois lados, NULL onde não casa.
Use apelidos curtos nas tabelas (u, p) para legibilidade. E conte o resultado: um JOIN mal feito pode duplicar linhas se a cardinalidade for surpresa.