Diferença entre associação interna e associação externa no SQL
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.
- Gráfico de comparação
- Definição
- Principais diferenças
- Conclusão
Gráfico de comparação
Base para Comparação | Junção interna | Junção externa |
---|---|---|
Basic | Junção interna produz apenas as tuplas correspondentes da tabela. | Junção externa exibe todas as tuplas de ambas as tabelas. |
Base de dados | O 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. |
Tipos | Sem 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.- 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.
- O tamanho do banco de dados resultante resultante da junção interna é menor que a junção externa.
- 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.