Differenza tra Left Join e Left Outer Join in SQL - Tutte le differenze

 Differenza tra Left Join e Left Outer Join in SQL - Tutte le differenze

Mary Davis

Un database consiste in una raccolta organizzata di informazioni strutturate, solitamente memorizzate elettronicamente in un sistema informatico. Diversi database, come SQL Server, Oracle, PostgreSQL e MySQL, utilizzano un linguaggio per gestire i dati. .

Uno di questi linguaggi è noto come SQL. SQL dispone di diversi comandi di join sotto forma di Inner Join, Left Join e Right Join.

Come forse sapete, Un join in SQL viene utilizzato per assemblare le righe di due o più tabelle a partire dalla colonna correlata. Questo potrebbe far sorgere una domanda su cosa fanno le altre varianti.

Non c'è dubbio che sia un po' confuso, ma non preoccupatevi: vi spiegherò in dettaglio cosa sono e cosa significano, sperando che questo vi aiuti a capire meglio.

Diamoci da fare!

Che cos'è l'SQL?

SQL è l'acronimo di Structured Query Language. È un linguaggio utilizzato da vari database per la scrittura e l'interrogazione dei dati. Permette di gestire le informazioni utilizzando tabelle e mostra un linguaggio per interrogare queste tabelle e altri oggetti correlati, come viste, funzioni, procedure, ecc.

Donald Chamberlin e Raymond Boyce sono gli progettisti di SQL, che sono stati realizzati per manipolare i dati. Il loro modello si basa sul lavoro di Edgar Frank Codd, che lavorava per IBM e che negli anni '70 inventò il database relazionale.

Inizialmente si chiamava SEQUEL, ma è stato abbreviato in SQL a causa di specifici problemi di marchio. Tuttavia, se volete, potete ancora chiamarli SEQUEL.

Con SQL è possibile inserire, cancellare e aggiornare i dati e creare, cancellare o modificare altri oggetti del database. I comandi SQL standard sono " selezionare", "cancellare", "inserire", "aggiornare", "creare" e "rilasciare". . questi possono realizzare tutto ciò che è necessario fare su un database.

Inoltre, questo linguaggio viene utilizzato in diversi database per gestire i dati e gli oggetti del database. Se vi sembra complicato, Ecco un video che spiega cos'è l'SQL per i principianti:

Un database può funzionare senza un linguaggio?

Perché si usa l'SQL?

È piuttosto semplice. Non capiremo i database senza SQL. Allo stesso modo, non possiamo istruire il database senza di esso, perché SQL è un sistema utilizzato per comunicare con il database.

SQL I sistemi di gestione delle risorse umane eseguono compiti quali cancellare, aggiungere o modificare Questo sistema è comunemente usato per fare è più facile gestire grandi quantità di dati, gestendoli in modo efficiente. Alcuni sistemi di gestione di database relazionali standard che utilizzano SQL includono Oracle, Sybase, Microsoft Access e Ingres.

Cosa sono le Join interne e le Join esterne?

Innanzitutto, cerchiamo di capire cosa sono i join. In SQL, i join vengono utilizzati per combinare i contenuti di tabelle diverse. È possibile combinare i dati in molti modi, specificando come si desidera integrare i dati e quale tipo di Join si desidera utilizzare.

Una join interna è una join che restituisce tutte le righe da entrambe le tabelle partecipanti in cui l'elemento essenziale di una tabella è lo stesso del record critico di un'altra tabella.

Questo tipo di join richiede un operatore di confronto per abbinare le righe delle tabelle partecipanti che supportano un campo o una colonna standard di entrambe le tabelle.

L'Outer Join può restituire righe non corrispondenti in una o entrambe le tabelle. In pratica, restituisce tutte le righe di tutte le tabelle che soddisfano le condizioni.

Esistono diversi tipi di Outer Joins. Queste includono Left Join, Right Join e Full Outer Join.

Ecco una tabella che riepiloga le funzioni significative dei join disponibili in SQL:

Tipi di giunzioni: Funzione :
Giunzione interna Restituisce righe quando c'è almeno una corrispondenza in entrambe le tabelle.
Giunzione esterna sinistra Restituisce tutte le righe della tabella di sinistra insieme alle righe corrispondenti della tabella di destra.
Giunzione esterna destra Restituisce tutte le righe della tabella di destra insieme alle righe corrispondenti della tabella di sinistra.
Giunzione esterna completa Combina una join esterna sinistra e una join esterna destra. Restituisce le righe da entrambe le tabelle quando le condizioni sono soddisfatte.

Questo mostra le differenze tra quattro join in SQL.

Differenza tra join interno ed esterno

C'è di più. La differenza significativa tra le giunzioni interne ed esterne è che Le giunzioni interne di solito producono l'intersezione di due tabelle. Al contrario, Le Outer Joins comportano il mescolamento di due tabelle.

Quindi, in pratica, Giunzione interna si ottiene la sovrapposizione di due insiemi di dati, come mostrato nell'immagine seguente. Nel caso di Inner Joins si combinano solo le righe standard di entrambe le tabelle. D'altra parte, Outer Joins restituisce tutti i record con valori in entrambe le tabelle, quella di sinistra o quella adatta.

Guarda anche: Maleducato vs. irrispettoso (differenza spiegata) - Tutte le differenze

Le giunzioni esterne includono le righe corrispondenti e quelle non corrispondenti delle tabelle. Inoltre, una giunzione esterna Giunzione esterna differisce da un join interno in gestire la condizione di falsa corrispondenza.

La Left Outer Join è composta da Left Outer Join + Inner Join, mentre la Right Outer Join è anch'essa composta da Right Outer Join + Inner Join. La Full Outer Join è composta da di tutti.

Join a sinistra (è la stessa cosa del Join esterno sinistro in SQL?)

Forse avete sentito parlare anche di Left Join in SQL? Ebbene, si tratta della stessa Left Outer Join. Hanno due nomi diversi per la stessa funzione.

Una join sinistra è la stessa cosa di una join esterna sinistra in SQL, e sono una cosa sola. La join sinistra è solo un'abbreviazione per la join esterna sinistra. La parola "esterna" rende più semplice l'operazione, ma entrambe le chiavi svolgono le stesse funzioni.

Perché la join sinistra è chiamata join esterna sinistra?

Avrete la possibilità di chiamarlo con il suo nome esteso o con quello della scorciatoia. Inoltre, sono la stessa cosa.

Ricordate che questa Join restituisce tutte le righe della tabella sul lato sinistro e le righe corrispondenti sul lato destro della Join. Se non ci sono lati corrispondenti sul lato destro, il risultato è nullo.

Quindi, se dovessimo unire due tabelle, A e B, SQL Left Outer Join restituirebbe tutte le righe della tabella di sinistra, che è A, e tutte le righe che corrispondono all'altra tabella B sul lato destro. In breve, il risultato di un join sinistro SQL consiste sempre nelle righe della tabella di sinistra.

Differenza tra Join e Left Join

Per le nozioni di base, la Join è chiamata anche Inner Join, mentre la Left Join è una Outer Join.

Ma la differenza principale è che una dichiarazione di join a sinistra probabilmente includerà e combinerà tutte le righe della tabella a cui si fa riferimento sul lato sinistro dell'informazione. Invece delle sole righe non abbinate, consiste in tutte le righe della tabella di sinistra e nelle righe abbinate delle altre tabelle.

Quando usare la join esterna sinistra in SQL?

Supponiamo che si stia cercando un modo per combinare diverse tabelle. Se invece si stanno unendo due tabelle e si vuole che l'insieme dei risultati includa solo le righe non corrispondenti di una tabella, si deve usare una clausola di join esterno sinistro o una clausola di join esterno corretto. L'uso del join esterno sinistro consiste nelle righe non corrispondenti della tabella specificata prima della clausola di join esterno sinistro.

Guarda anche: Quali sono le differenze tra un Boeing 737 e un Boeing 757? (Raccolta) - Tutte le differenze

Tecnicamente, la join esterna sinistra identifica tutte le righe di entrambe le tabelle che soddisfano la condizione di join e le righe non corrispondenti della tabella.

L'unione esterna sinistra aumenta il numero di righe?

Questa è una domanda frequente e tecnicamente è un sì.

Tuttavia, l'unione a sinistra può solo aumenta il numero di righe nella tabella di sinistra, solo quando nella tabella di destra sono presenti più corrispondenze. Inoltre, è possibile utilizzare più join di sinistra in una query, se necessario per l'analisi.

Giunzione esterna sinistra vs. Giunzione esterna destra

La differenza significativa tra la Giunzione esterna sinistra e la Giunzione esterna destra è combinando le righe non corrispondenti.

La differenza tra i due è che la join esterna sinistra include le righe non abbinate o tutti i record della tabella a sinistra della clausola di join, comprese le righe abbinate della tabella o della clausola di destra.

D'altra parte, una join esterna destra include le righe non abbinate della tabella sul lato destro della clausola di join e restituisce tutte le righe del lato destro.

Una clausola di unione combina i record o modifica e manipola i moduli di due o più tabelle utilizzando una condizione di unione. Questa condizione di unione indica il modo in cui le colonne delle diverse tabelle vengono abbinate quando vengono confrontate.

Ad esempio, tra una tabella contenente gli stipendi dei dipendenti e un'altra contenente i dettagli dei dipendenti, ci sarà una colonna standard, ad esempio l'ID del dipendente, che aiuta a unire le due tabelle.

Si può quindi pensare alla tabella come a un'entità e la chiave è un collegamento comune tra le due tabelle, utilizzato per le operazioni congiunte.

Lo studio delle basi di dati può essere complicato, ma è piuttosto semplice da ottenere se lo si comprende a fondo.

Qual è la differenza tra join destro e join esterno destro?

Le giunzioni a destra sono simili a quelle a sinistra, ma restituiscono tutte le righe della tabella dal lato destro e quelle corrispondenti dal lato sinistro.

Anche in questo caso, la Right Join e la Right Outer Join non hanno alcuna differenza specifica, così come non ce l'hanno la Left Join e la Left Outer Join. In breve, il termine Right Join è semplicemente un'abbreviazione di Right Outer Join.

La parola chiave "outer" è facoltativa. Entrambi svolgono lo stesso compito, combinando i set di dati e le tabelle.

Perché usare la giunzione a destra invece della giunzione a sinistra?

In genere, le giunzioni esterne destre non sono utilizzate così comunemente perché si possono sempre sostituire con le giunzioni esterne sinistre, senza dover eseguire alcuna funzione aggiuntiva.

Quando si cerca di rendere il proprio SQL più autodocumentante, si potrebbe pensare di utilizzare la Giunzione a destra piuttosto che la Giunzione a sinistra.

Si può utilizzare il comando Giunzione a sinistra per gestire le query che hanno righe nulle sul lato dipendente. Si dovrebbe usare Unirsi a destra per le domande che generano righe nulle sul lato indipendente.

Il Giunzione esterna destra è utile anche quando è necessario combinare una tabella con l'intersezione di molte altre tabelle.

Differenza tra Join e Union in SQL

La differenza tra Join e Union è che Union viene utilizzata per combinare l'insieme dei risultati di due o più istruzioni SELECT.

Mentre Join combina i dati di molte tabelle in base alla condizione soddisfatta, i dati combinati utilizzando le istruzioni Join danno luogo a nuove colonne.

I dati combinati utilizzando l'istruzione Union producono nuove righe distinte dagli insiemi con un numero uguale di colonne.

Pensieri finali

In conclusione, c'è nessuna differenza tra LEFT JOIN e LEFT OUTER JOIN Questo vale anche per la giunzione destra e la giunzione esterna destra.

Entrambi i tasti svolgono le stesse funzioni e " outer" è solo una parola chiave opzionale da usare. Alcuni consigliano di usarlo solo perché chiarisce che si sta creando una Giunzione esterna.

Quindi, alla fine, che lo si specifichi o meno non fa alcuna differenza.

Altri articoli interessanti:

    Clicca qui per saperne di più su queste differenze in modo più sintetico.

    Mary Davis

    Mary Davis è una scrittrice, creatrice di contenuti e appassionata ricercatrice specializzata nell'analisi comparativa su vari argomenti. Con una laurea in giornalismo e oltre cinque anni di esperienza nel settore, Mary ha una passione per la fornitura di informazioni imparziali e dirette ai suoi lettori. Il suo amore per la scrittura è iniziato quando era giovane ed è stata una forza trainante dietro la sua carriera di successo nella scrittura. La capacità di Mary di ricercare e presentare i risultati in un formato coinvolgente e di facile comprensione l'ha resa amata dai lettori di tutto il mondo. Quando non scrive, a Mary piace viaggiare, leggere e passare il tempo con la famiglia e gli amici.