🧠 Explicação
O comando JOIN
permite combinar dados de duas ou mais tabelas em uma única consulta SQL. A junção é feita com base em uma condição — normalmente uma chave que relaciona os registros entre as tabelas.
📌 Usos mais comuns
-
Recuperar dados distribuídos entre várias tabelas.
-
Realizar cruzamento de dados por meio de chaves primárias e estrangeiras.
-
Criar tabelas intermediárias para relatórios mais complexos.
🔣 Sintaxe básica
SELECT colunas
FROM tabela1
JOIN tabela2
ON tabela1.coluna_chave = tabela2.coluna_chave;
🧪 Exemplo prático
SELECT EMP.EMPNOME, DEPT.DEPNOME
FROM EMP
INNER JOIN DEPT
ON EMP.DEPNUME = DEPT.DEPNUME;
Esse exemplo retorna o nome dos empregados e o nome do departamento ao qual pertencem, desde que haja correspondência entre os códigos de departamento.
🔄 Tipos de JOIN
🔸 INNER JOIN
-
Retorna somente os registros com correspondência entre as tabelas.
-
É o JOIN mais comum.
SELECT *
FROM EMP
INNER JOIN DEPT
ON EMP.DEPNUME = DEPT.DEPNUME;
🔹 LEFT OUTER JOIN
-
Retorna todas as linhas da tabela da esquerda, mesmo que não haja correspondência na tabela da direita.
-
Os campos da tabela da direita vêm como NULL se não houver correspondência.
SELECT *
FROM EMP
LEFT OUTER JOIN DEPT
ON EMP.DEPNUME = DEPT.DEPNUME;
🔸 RIGHT OUTER JOIN
-
Retorna todas as linhas da tabela da direita, mesmo que não haja correspondência na tabela da esquerda.
SELECT *
FROM EMP
RIGHT OUTER JOIN DEPT
ON EMP.DEPNUME = DEPT.DEPNUME;
🔹 FULL OUTER JOIN
-
Retorna todas as linhas de ambas as tabelas, preenchendo com NULL onde não houver correspondência.
SELECT *
FROM EMP
FULL OUTER JOIN DEPT
ON EMP.DEPNUME = DEPT.DEPNUME;
📏 Regras
-
As colunas utilizadas no
ON
devem ter tipos compatíveis. -
As junções devem sempre buscar integridade referencial, preferencialmente usando chaves.
💡 Dicas
-
Prefira sempre usar
JOIN ... ON
em vez da antiga notação comWHERE
, pois melhora a legibilidade e evita erros. -
Use aliases (
AS
) para deixar a leitura da query mais clara. -
Para OUTER JOINs, verifique o uso de
IS NULL
quando quiser encontrar registros "órfãos".
✅ Conclusão
O JOIN
é uma das ferramentas mais poderosas do SQL. Ele permite unir dados de múltiplas fontes de forma eficiente e flexível. Entender bem os tipos de JOINs é essencial para manipular dados em bancos relacionais como o DB2 com segurança e precisão.