SQL: JOIN E INNER JOIN 🔗

🔍 Cláusulas JOIN e INNER JOIN

As cláusulas JOIN e INNER JOIN são usadas de maneira intercambiável no padrão SQL, pois JOIN é equivalente a INNER JOIN. Elas são utilizadas em consultas SQL para combinar registros de duas tabelas com base em colunas que possuem valores em comum.

O JOIN e o INNER JOIN retornam apenas os registros que possuem correspondência em ambas as tabelas, ou seja, a instrução exibe apenas as linhas em que há um relacionamento entre as duas tabelas envolvidas.


📌 Utilidade do INNER JOIN (ou JOIN)

As instruções JOIN e INNER JOIN são amplamente utilizadas quando você deseja obter apenas os dados que estão presentes em ambas as tabelas, excluindo registros que não possuem correspondência. Elas são úteis em:

    ✔️ Análises de dados que requerem informações completas e relacionadas entre tabelas.

    ✔️ Normalização de dados, permitindo a divisão de informações entre múltiplas tabelas e sua junção eficiente.

    ✔️ Consultas relacionais onde se deseja garantir que o resultado apresente apenas combinações válidas de dados.


🔄 Diferença entre JOIN e INNER JOIN

A principal diferença entre JOIN e INNER JOIN é sintática:

  • O INNER JOIN é explicitamente nomeado na consulta.

  • O JOIN é uma forma mais simplificada, que por padrão é interpretada pelo SQL como um INNER JOIN.

  • O uso de um ou outro não altera o comportamento da consulta, mas o INNER JOIN torna o tipo de junção mais claro e explícito.


🖥️ Exemplo de Uso

Vamos demonstrar as instruções com INNER JOIN, que pode ser trocado pelo JOIN sem impactar os resultados.

Considere as tabelas D2D_Customers e D2D_Orders, que compartilham a coluna Customer_id. A consulta abaixo retorna apenas os registros que possuem correspondência em ambas as tabelas:

SELECT
 [Fields]
FROM
 D2D_Customers D1
  INNER JOIN D2D_Orders D2
   ON D1.Customer_id= D2.Customer_id

📌 O que acontece nessa consulta?

  • Apenas os clientes que têm pedidos serão exibidos no resultado.

  • Se um cliente não tiver pedidos, ele não aparecerá.


📊 Representação Gráfica

No diagrama de Venn, o JOIN ou INNER JOIN corresponde à interseção das duas tabelas, representando os registros que existem em ambas:

 
 
 
 
 
D2D_Customers
D2D_Orders

 

📑 Resultados da Consulta

🔹 Caso 1: Correspondência Encontrada

Se um registro da tabela D2D_Customers encontrar correspondência pelo campo Customer_id na tabela D2D_Orders, os dados de ambas as tabelas serão combinados e exibidos no resultado.

🔸 Caso 2: Sem Correspondência

Se um registro da tabela D2D_Customers não tiver correspondência na tabela D2D_Orders, ou vice-versa, esse registro não será incluído no resultado da consulta.


 

🔗 Relacionamentos 1:1 e 1:n

Assim como no LEFT JOIN e RIGHT JOIN, ao trabalhar com JOIN ou INNER JOIN, é importante entender a natureza do relacionamento entre as tabelas envolvidas, pois isso influencia o resultado da consulta.

🔹 Relacionamento 1:1 (Um para Um)

Nesse tipo de relacionamento, cada registro na tabela D2D_Customers corresponde a, no máximo, um único registro na tabela D2D_Orders, e vice-versa.

📌 Se houver um relacionamento 1:1, o resultado refletirá essas correspondências únicas.

🔸 Relacionamento 1:n (Um para Muitos)

Em um relacionamento 1:n, cada registro na tabela D2D_Customers pode ter vários registros correspondentes na tabelaD2D_Orders.

📌 Isso significa que oJOIN ouINNER JOIN pode resultar em múltiplas linhas para um mesmo registro da tabelaD2D_Customers.


 

💡 Conclusão

✔️ OJOIN e oINNER JOIN são utilizados para trazer apenas os registros correspondentes entre duas tabelas. ✔️ Se houver um relacionamento válido entre os dados, as informações serão combinadas e exibidas corretamente. ✔️ Para visualizar registros sem correspondência, deve-se utilizarLEFT JOIN ouRIGHT JOIN.

🛠️ Compreender como utilizar essas cláusulas corretamente pode melhorar significativamente a eficiência das consultas SQL e garantir que os dados sejam extraídos com precisão!

 

Data de Publicação: 04-09-2024

Categoria: SQL