Differenza tra Inner Join e Natural Join

Sommario:

Differenza tra Inner Join e Natural Join
Differenza tra Inner Join e Natural Join

Video: Differenza tra Inner Join e Natural Join

Video: Differenza tra Inner Join e Natural Join
Video: Difference between Natural Join And Inner Join In SQL | Which is better? Examples 2024, Luglio
Anonim

La differenza fondamentale 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 mentre Natural Join fornisce il risultato in base alla colonna con lo stesso nome e stesso tipo di dati presente 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. Assumere un database Studente. Ogni riga rappresenta uno studente. Le colonne rappresentano gli attributi come id, nome, voto, età. Un DBMS è una raccolta di tabelle e ogni tabella è correlata utilizzando vincoli come chiavi esterne. A volte non è sufficiente utilizzare una sola tabella. Ci sono situazioni che richiedono l'utilizzo di più tabelle. Per combinare due tabelle, almeno una colonna dovrebbe essere comune. La combinazione di tabelle si chiama join.

Cos'è Inner Join?

Un esempio di inner join è il seguente. Di seguito è riportata la tabella degli studenti.

Differenza tra unione interna e unione naturale figura 1
Differenza tra unione interna e unione naturale figura 1

La tabella student_info è la seguente.

Differenza tra unione interna e unione naturale fig 2
Differenza tra unione interna e unione naturale fig 2

Per eseguire inner join, ci dovrebbe essere almeno una corrispondenza tra le due tabelle. Gli ID 1, 2, 3 sono comuni a entrambe le tabelle. Pertanto, è possibile eseguire inner join.

Differenza tra unione interna e unione naturale
Differenza tra unione interna e unione naturale

Figura 01: SQL Join

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

SELEZIONAREda studente

INNER ISCRIVITI student_info DOVE student.id=student_info.id;

L'esecuzione del comando SQL sopra riportato produrrà la seguente tabella.

Differenza tra unione interna e unione naturale fig 3
Differenza tra unione interna e unione naturale fig 3

Cos'è Natural Join?

Un esempio di join naturale è il seguente. Di seguito è riportata la tabella degli studenti.

Differenza tra unione interna e unione naturale fig 4
Differenza tra unione interna e unione naturale fig 4

La tabella student_info è la seguente.

Differenza tra unione interna e unione naturale fig 5
Differenza tra unione interna e unione naturale fig 5

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 naturalmente entrambi questi tavoli.

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

SELECTfrom student NATURAL JOIN student_info;

L'esecuzione del comando SQL sopra riportato produrrà la seguente tabella.

Differenza tra unione interna e unione naturale fig 6
Differenza tra unione interna e unione naturale fig 6

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 abbinati secondo la condizione di uguaglianza specificata nella query mentre il join naturale fornisce il risultato in base alla colonna con lo stesso nome e stesso tipo di dati presente nelle tabelle da unire. Inoltre, la sintassi di inner join e natural join è diversa.

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

Differenza tra unione interna e unione naturale in forma tabulare
Differenza tra unione interna e unione naturale in forma tabulare

Riepilogo – Inner Join vs Natural Join

La differenza fondamentale 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 stesso tipo di dati presente nelle tabelle da unire.

Consigliato: