Differenza tra Inner Join e Natural Join

Il differenza fondamentale tra Inner Join e Natural Join è quello Inner Join fornisce il risultato in base ai dati corrispondenti in base alla condizione di uguaglianza specificata nella query mentre Natural Join fornisce il risultato in base alla colonna con lo stesso nome e lo stesso tipo di dati presenti nelle tabelle da unire.

DBMS consente di archiviare, recuperare e manipolare facilmente i dati. Memorizza i dati sotto forma di tabelle. Ogni tabella è composta da righe e colonne. Le righe rappresentano ciascuna entità mentre le colonne rappresentano gli attributi. Assumi un database degli studenti. Ogni riga rappresenta uno studente. Le colonne rappresentano gli attributi come id, nome, grado, età. Un DBMS è una raccolta di tabelle e ogni tabella è correlata utilizzando vincoli come chiavi esterne. A volte non è sufficiente usare un solo tavolo. Ci sono situazioni che richiedono l'uso di più tabelle. Per combinare due tabelle, almeno una colonna dovrebbe essere comune. La combinazione di tabelle è chiamata join.

CONTENUTO

1. Panoramica e differenza chiave
2. Cos'è l'Inner Join
3. Che cos'è Natural Join
4. Relazione tra Inner Join e Natural Join
5. Confronto affiancato - Join interno contro Natural Join in Tabular Form
6. Sommario

Cos'è l'Inner Join?

L'esempio per un join interno è il seguente. Di seguito è la tabella degli studenti.

La tabella student_info è la seguente.

Per eseguire il join interno, dovrebbe esserci almeno una corrispondenza tra entrambe le tabelle. L'ID 1,2,3 sono comuni a entrambe le tabelle. Pertanto, è possibile eseguire l'inner join.

Figura 01: Join di SQL

La query INNER JOIN per unire queste due tabelle è la seguente.

SELEZIONA * dallo studente

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

Eseguendo il comando SQL sopra riportato verrà visualizzata la seguente tabella.

Che cos'è Natural Join?

L'esempio per un join naturale è il seguente. Di seguito è la tabella degli studenti.

La tabella student_info è la seguente.

Per eseguire un join naturale, dovrebbe esserci una colonna con lo stesso nome e lo stesso tipo di dati. La colonna id è la stessa per entrambe le tabelle. Pertanto, è possibile unire naturali entrambe queste tabelle.

La query NATURAL JOIN per unire queste due tabelle è la seguente.

SELEZIONA * dallo studente NATURAL JOIN student_info;

Eseguendo il comando SQL sopra riportato verrà visualizzata la seguente tabella.

Qual è la relazione tra Inner Join e Natural Join?

  • Natural Join è un tipo di Inner Join.

Qual è la differenza tra Inner Join e Natural Join?

Inner join fornisce il risultato in base ai dati corrispondenti in base alla condizione di uguaglianza specificata nella query mentre il join naturale fornisce il risultato in base alla colonna con lo stesso nome e lo stesso tipo di dati presenti nelle tabelle da unire. Inoltre, la sintassi di inner join e natural join sono differenti.

Quando la tabella1 è composta da id, name e table2 formati da id e city, il join interno darà alla tabella risultante le righe corrispondenti. Avrà ID, nome, ancora id e città. D'altra parte, in join naturale, darà alla tabella risultante le righe corrispondenti con colonne id, name, city.

 

Riassunto: Join interno vs Natural Join

La differenza chiave tra inner join e natural join è che inner join fornisce il risultato in base ai dati corrispondenti in base alla condizione di uguaglianza specificata nella query SQL mentre natural Join fornisce il risultato in base alla colonna con lo stesso nome e lo stesso tipo di dati presenti nei tavoli da unire.

Riferimento:

1.Tutorial punti. "SQL INNER JOINS."  Punto tutorial, 8 gennaio 2018. Disponibile qui

Cortesia dell'immagine:

1.'SQL Join - 07 A Inner Partecipa B'By GermanX - Opera propria, (CC BY-SA 4.0) attraverso Commons Wikimedia