Diferència entre Inner Join i Natural Join

Taula de continguts:

Diferència entre Inner Join i Natural Join
Diferència entre Inner Join i Natural Join

Vídeo: Diferència entre Inner Join i Natural Join

Vídeo: Diferència entre Inner Join i Natural Join
Vídeo: Difference between Natural Join And Inner Join In SQL | Which is better? Examples 2024, De novembre
Anonim

La diferència clau entre Inner Join i Natural Join és que Inner Join proporciona el resultat basat en les dades coincidents segons la condició d'igu altat especificada a la consulta, mentre que Natural Join proporciona el resultat basat en la columna amb el mateix nom i mateix tipus de dades present a les taules que cal unir.

DBMS permet emmagatzemar, recuperar i manipular dades fàcilment. Emmagatzema dades en forma de taules. Cada taula consta de files i columnes. Les files representen cada entitat mentre que les columnes representen els atributs. Suposem una base de dades d'estudiants. Cada fila representa un alumne. Les columnes representen els atributs com ara id, nom, grau, edat. Un SGBD és una col·lecció de taules i cada taula està relacionada mitjançant restriccions com ara claus forasteres. De vegades no n'hi ha prou amb utilitzar una sola taula. Hi ha situacions que requereixen utilitzar diverses taules. Per combinar dues taules, almenys una columna hauria de ser comuna. La combinació de taules s'anomena join.

Què és Inner Join?

L'exemple d'una unió interna és el següent. A continuació es mostra la taula dels estudiants.

Diferència entre unió interna i unió natural figura 1
Diferència entre unió interna i unió natural figura 1

La taula d'informació_estudiant és la següent.

Diferència entre unió interna i unió natural figura 2
Diferència entre unió interna i unió natural figura 2

Per realitzar una unió interna, hi hauria d'haver almenys una coincidència entre ambdues taules. Els id 1, 2, 3 són comuns a ambdues taules. Per tant, és possible realitzar una unió interna.

Diferència entre unió interna i unió natural
Diferència entre unió interna i unió natural

Figura 01: Unió SQL

La consulta INNER JOIN per unir aquestes dues taules és la següent.

SELECTde l'estudiant

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

Si executeu l'ordre SQL anterior, sortirà la taula següent.

Diferència entre unió interna i unió natural figura 3
Diferència entre unió interna i unió natural figura 3

Què és Natural Join?

L'exemple d'una unió natural és el següent. A continuació es mostra la taula dels estudiants.

Diferència entre unió interna i unió natural figura 4
Diferència entre unió interna i unió natural figura 4

La taula d'informació_estudiant és la següent.

Diferència entre unió interna i unió natural figura 5
Diferència entre unió interna i unió natural figura 5

Per realitzar una unió natural, hi hauria d'haver una columna amb el mateix nom i el mateix tipus de dades. La columna id és la mateixa per a les dues taules. Per tant, és possible unir naturalment aquestes dues taules.

La consulta NATURAL JOIN per unir aquestes dues taules és la següent.

SELECTde l'estudiant NATURAL JOIN student_info;

Si executeu l'ordre SQL anterior, sortirà la taula següent.

Diferència entre unió interna i unió natural figura 6
Diferència entre unió interna i unió natural figura 6

Quina és la relació entre la unió interna i la unió natural?

La unió natural és un tipus d'unió interna

Quina diferència hi ha entre la unió interna i la unió natural?

Inner join proporciona el resultat basat en les dades coincidents d'acord amb la condició d'igu altat especificada a la consulta, mentre que la unió natural proporciona el resultat basat en la columna amb el mateix nom i el mateix tipus de dades present a les taules que cal unir. A més, la sintaxi de la unió interna i la unió natural són diferents.

Quan la taula1 consta d'id, nom i taula2 consta d'id i ciutat, aleshores la unió interna donarà la taula resultant amb les files coincidents. Tindrà id, nom, de nou id i ciutat. D' altra banda, en unió natural, donarà la taula resultant amb files coincidents amb columnes id, nom, ciutat.

Diferència entre unió interna i unió natural en forma tabular
Diferència entre unió interna i unió natural en forma tabular

Resum: unió interna vs unió natural

La diferència clau entre la unió interna i la unió natural és que la unió interna proporciona el resultat basat en les dades coincidents segons la condició d'igu altat especificada a la consulta SQL, mentre que la unió natural proporciona el resultat basat en la columna amb el mateix nom i el mateix tipus de dades present a les taules a unir.

Recomanat: