🧠 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 com WHERE, 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.