Diferença entre associação interna e associação externa no SQL

Autor: Laura McKinney
Data De Criação: 2 Abril 2021
Data De Atualização: 5 Poderia 2024
Anonim
Diferença entre associação interna e associação externa no SQL - Tecnologia
Diferença entre associação interna e associação externa no SQL - Tecnologia

Contente


Junção interna e Junção externa são os tipos de Junção. Unir 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 Join sem a palavra-chave Inner, ela executará a operação de junção natural. A diferença potencial entre a junção interna e a externa é que Junção interna retorna apenas as tuplas correspondentes da tabela e do Junção externa retorna todas as tuplas das duas tabelas comparadas. Vamos discutir algumas outras diferenças entre a junção interna e a externa, com a ajuda do gráfico de comparação mostrado abaixo.

  1. Gráfico de comparação
  2. Definição
  3. Principais diferenças
  4. Conclusão

Gráfico de comparação

Base para ComparaçãoJunção internaJunção externa
BasicJunção interna produz apenas as tuplas correspondentes da tabela.Junção externa exibe todas as tuplas de ambas as tabelas.
Base de dadosO tamanho potencial do banco de dados retornado pelo Inner Join é comparativamente menor que o Outer Join.A junção externa retorna um 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. Junção interna compara duas tabelas e combina a tupla correspondente em ambas as tabelas. Também é chamado como o tipo padrão de junção, pois a cláusula Join é escrita sem a palavra-chave interna que realiza a junção natural. Se a cláusula Join for gravada sem a palavra-chave Outer, também será realizada a junção interna.

A junção interna pode ser explicada com um exemplo. Existem duas tabelas, tabela de alunos e tabela de departamentos. Agora vamos entender o que o Join interno executa.

SELECT Nome, Sem, Nome do departamento FROM Student INNER JOIN Departamento ON Student.Department_ID = Department.ID.


Você pode ver que apenas essas tuplas são obtidas no resultado em que Student.Department_ID = Department.ID. Portanto, podemos dizer que a junção interna combina apenas a tupla correspondente de duas tabelas.

Definição de Junção Externa

Diferentemente da Junção Interna, somente as tuplas são produzidas com os mesmos valores de atributo na tabela comparada; Junção externa gera todas as tuplas da tabela. Junção externa é de três tipos Junção externa esquerda, Junção externa direitae Junção externa completa.

Vamos entendê-los um por um. Primeiro, vamos dar a junção externa esquerda.

Selecione Nome, Department_name do aluno que saiu do departamento de ingresso externo ON Student.Department_ID = Depoartment.ID.

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

Selecione Nome, Nome_do_Domínio No Departamento Direito Juntar-se ao Estudante ON Student.Department_ID = Depoartment.ID.

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

Selecione Nome, Departamento_nome do Departamento de ingresso externo completo do aluno ON Student.Department_ID = Depoartment.ID.

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

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

Conclusão:

As duas associações são muito úteis. O uso depende da exigência do usuário.