Diferença entre junção interna e junção natural

Índice:

Diferença entre junção interna e junção natural
Diferença entre junção interna e junção natural

Vídeo: Diferença entre junção interna e junção natural

Vídeo: Diferença entre junção interna e junção natural
Vídeo: Junção de Dados - Álgebra Relacional - Junção Interna, Externa à Esquerda, à Direita e Completa 2024, Julho
Anonim

A principal diferença entre Inner Join e Natural Join é que o Inner Join fornece o resultado com base nos dados correspondentes de acordo com a condição de igualdade especificada na consulta, enquanto o Natural Join fornece o resultado com base na coluna com o mesmo nome e mesmo tipo de dado presente nas tabelas a serem unidas.

DBMS permite armazenar, recuperar e manipular dados facilmente. Ele armazena dados na forma de tabelas. Cada tabela consiste em linhas e colunas. As linhas representam cada entidade enquanto as colunas representam os atributos. Suponha um banco de dados de alunos. Cada linha representa um aluno. As colunas representam os atributos como id, nome, grau, idade. Um DBMS é uma coleção de tabelas e cada tabela é relacionada usando restrições como chaves estrangeiras. Às vezes não é suficiente usar uma única tabela. Há situações que exigem o uso de várias tabelas. Para combinar duas tabelas, pelo menos uma coluna deve ser comum. A combinação de tabelas é chamada de junção.

O que é Inner Join?

Exemplo para uma junção interna é o seguinte. Abaixo está a tabela do aluno.

Diferença entre Inner Join e Natural Join figura 1
Diferença entre Inner Join e Natural Join figura 1

A tabela student_info é a seguinte.

Diferença entre Inner Join e Natural Join fig 2
Diferença entre Inner Join e Natural Join fig 2

Para realizar a junção interna, deve haver pelo menos uma correspondência entre as duas tabelas. Os id 1, 2, 3 são comuns a ambas as tabelas. Portanto, é possível realizar a junção interna.

Diferença entre a junção interna e a junção natural
Diferença entre a junção interna e a junção natural

Figura 01: SQL Join

A consulta INNER JOIN para unir essas duas tabelas é a seguinte.

SELECTdo aluno

INNER JOIN student_info WHERE student.id=student_info.id;

Executar o comando SQL acima resultará na seguinte tabela.

Diferença entre Inner Join e Natural Join fig 3
Diferença entre Inner Join e Natural Join fig 3

O que é União Natural?

Exemplo para uma junção natural é o seguinte. Abaixo está a tabela do aluno.

Diferença entre Inner Join e Natural Join fig 4
Diferença entre Inner Join e Natural Join fig 4

A tabela student_info é a seguinte.

Diferença entre Inner Join e Natural Join fig 5
Diferença entre Inner Join e Natural Join fig 5

Para realizar a junção natural, deve haver uma coluna com o mesmo nome e mesmo tipo de dados. A coluna id é a mesma para ambas as tabelas. Portanto, é possível unir naturalmente ambas as tabelas.

A consulta NATURAL JOIN para unir essas duas tabelas é a seguinte.

SELECTfrom student NATURAL JOIN student_info;

Executar o comando SQL acima resultará na seguinte tabela.

Diferença entre Inner Join e Natural Join fig 6
Diferença entre Inner Join e Natural Join fig 6

Qual é a relação entre Inner Join e Natural Join?

Natural Join é um tipo de Inner Join

Qual é a diferença entre Inner Join e Natural Join?

Inner join fornece o resultado com base nos dados correspondentes de acordo com a condição de igualdade especificada na consulta, enquanto a junção natural fornece o resultado com base na coluna com o mesmo nome e mesmo tipo de dados presentes nas tabelas a serem unidas. Além disso, a sintaxe da junção interna e da junção natural são diferentes.

Quando a tabela1 consiste em id, nome e tabela2 consiste em id e cidade, a junção interna fornecerá a tabela resultante com linhas correspondentes. Ele terá id, name, novamente id e city. Por outro lado, na junção natural, dará a tabela resultante com as linhas correspondentes com as colunas id, name, city.

Diferença entre a junção interna e a junção natural na forma tabular
Diferença entre a junção interna e a junção natural na forma tabular

Resumo – Inner Join vs Natural Join

A principal diferença entre a junção interna e a junção natural é que a junção interna fornece o resultado com base nos dados correspondentes de acordo com a condição de igualdade especificada na consulta SQL, enquanto a junção natural fornece o resultado com base na coluna com o mesmo nome e mesmo tipo de dado presente nas tabelas a serem unidas.

Recomendado: