Grafico comparativo
Base per il confronto | Join interno | Outer Join |
---|---|---|
Di base | Inner Join emette solo le tuple corrispondenti da entrambe le tabelle. | Outer Join mostra tutte le tuple da entrambi i tavoli. |
Banca dati | La dimensione potenziale del database restituita da Inner Join è relativamente più piccola di Outer Join. | Il join esterno restituisce un database comparativamente più grande. |
tipi | Nessun tipo | Join esterno sinistro, Giusto outer join, e Full Outer Join. |
Definizione di Inner Join
Anche Inner Join è indicato come Natural Join. Inner Join confronta due tabelle e combina la tupla corrispondente in entrambi i tavoli. Viene anche chiamato come tipo predefinito di join, poiché la clausola Join viene scritta senza la parola chiave inner che esegue il join naturale. Se la clausola Join viene scritta senza la parola chiave Outer, viene eseguita anche la inner join.
Inner Join può essere spiegato con un esempio. Ci sono due tabelle tabella studenti e tabella dipartimento. Ora ci consente di capire che cosa esegue Inner Join.
Puoi vedere che solo quelle tuple sono ottenute nel risultante dove Student.Department_ID = Department.ID. Quindi, possiamo dire che Inner Join combina solo la tupla corrispondente di due tavoli.
Definizione di outer join
A differenza di Inner Join, vengono prodotte solo le tuple che hanno gli stessi valori degli attributi nella tabella comparata; Outer Join emette tutte le tuple di entrambi i tavoli. Outer Join è di tre tipi: Join esterno sinistro, Join esterno destro e Join esterno completo .
Cerchiamo di capirli uno per uno. Per prima cosa, prendiamo Left Outer Join.
Selezionare Nome, Nome reparto Da Studente A sinistra Esterno Unire Dipartimento ON Student.Department_ID = Depoartment.ID.
Seleziona Nome, Nome reparto Da Dipartimento A destra Esterno Accedi a Student ON Student.Department_ID = Depoartment.ID.
Selezionare Nome, Department_name Da Student Full Outer Iscriviti Dipartimento ON Student.Department_ID = Depoartment.ID.
Differenze chiave tra l'unione interna e l'unione esterna
- La differenza fondamentale tra Join interno e Outer Join è che l'inner join confronta e combina solo le tuple corrispondenti da quelle dei tavoli. D'altra parte, Outer Join confronta e combina tutte le tuple di entrambe le tabelle confrontate.
- La dimensione del database del risultato ottenuto dall'Inner Join è più piccola di Outer Join.
- Vi sono tre tipi di Join esterno esterno, Join esterno destro e Join esterno completo. Ma inner Join non ha questo tipo.
Conclusione:
Entrambi i join sono molto utili. L'uso dipende dalle esigenze dell'utente.