Recomendado, 2024

Escolha Do Editor

Diferença entre junção interna e externa em SQL

Inner Join e Outer Join são os tipos de Join. Join compara e combina tuplas de duas relações ou tabelas. Junção Interna especifica a junção natural, ou seja, se você escrever uma cláusula de Junção sem palavra-chave Interna, ela executará a operação de junção natural. A diferença de potencial entre Inner Join e Outer Join é que Inner Join retorna apenas as tuplas correspondentes da tabela e a Outer Join retorna todas as tuplas das duas tabelas comparadas. Vamos discutir algumas outras diferenças entre Inner Join e Outer Join com a ajuda do gráfico de comparação mostrado abaixo.

Gráfico de comparação

Base para ComparaçãoJunção internaOuter Join
BasicA junção interna produz apenas as tuplas correspondentes da tabela.Outer Join exibe todas as tuplas de ambas as tabelas.
Base de dadosO tamanho potencial do banco de dados retornado pela junção interna é comparativamente menor do que a associação externa.Outer join retorna banco de dados comparativamente maior.
TiposSem tipos.Junção Externa Esquerda,
Junção Externa Direita,
e junção externa completa.

Definição de junção interna

A Junção Interna também é conhecida como Junção Natural. Inner Join compara duas tabelas e combina a tupla correspondente em ambas as tabelas. Ele também é chamado como o tipo padrão de junção, já que a cláusula Join é gravada sem a palavra-chave interna que executa a junção natural. Se a cláusula Join for escrita sem a palavra-chave Outer, a junção interna também será executada.

A junção interna pode ser explicada com um exemplo. Existem duas tabelas tabela de alunos e tabela de departamento. Agora, vamos entender o que a junção interna realiza.

SELECT Nome, Sem, Deparment_name FROM Estudante INNER JOIN Departamento ON Student.Department_ID = Department.ID.

Você pode ver que somente essas tuplas são obtidas no resultado, onde Student.Department_ID = Department.ID. Portanto, podemos dizer que Inner Join combina apenas a tupla correspondente de duas tabelas.

Definição de Junção Externa

Ao contrário da Junção Interna, apenas as tuplas são produzidas com os mesmos valores de atributos na tabela comparada; Outer Join produz todas as tuplas de ambas as tabelas. Outer Join é de três tipos de associação externa esquerda, associação externa direita e associação externa total .

Vamos entendê-los um por um. Primeiro, vamos fazer o Left Outer Join.

Selecione Nome, Nome_do_Departamento No Departamento de Participação Externa do Aluno Esquerdo EM Student.Department_ID = Depoartment.ID.

Você pode ver que todas as tuplas da Tabela de Alunos são exibidas no resultado.

Selecione o nome, nome_do_direcionamento do departamento à direita, junte-se ao aluno em Student.Department_ID = Depoartment.ID.

Você pode ver que todas as tuplas da tabela Departamento são exibidas.

Selecione Nome, Nome_do_Departamento Do Departamento de Ingresso Completo de Alunos no Exterior, em Student.Department_ID = Depoartment.ID.

Você pode observar que todas as tuplas de ambas as tabelas são exibidas no resultado.

Principais diferenças entre junção interna e externa

  1. A diferença básica entre a Junção Interna e a Junção Externa é que a junção interna compara e combina apenas as tuplas correspondentes das tabelas. Por outro lado, o Outer Join compara e combina todas as tuplas de ambas as tabelas comparadas.
  2. O tamanho do banco de dados do resultante obtido da Junção Interna é menor que a Junção Externa.
  3. Existem três tipos de junção externa: junção externa esquerda, junção externa direta e junção externa completa. Mas o Join interno não possui esses tipos.

Conclusão:

Ambas as junções são muito úteis. O uso depende da exigência do usuário.

Top