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.
A tabela student_info é a seguinte.
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.
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.
O que é União Natural?
Exemplo para uma junção natural é o seguinte. Abaixo está a tabela do aluno.
A tabela student_info é a seguinte.
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.
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.
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.