logo

Differenza tra Left Join e Left Outer Join

Il database in qualsiasi sistema informatico è la raccolta di dati strutturati o non strutturati che possono essere utilizzati per eseguire varie opzioni come la creazione, la cancellazione, ecc. Questo database è gestito da un linguaggio speciale noto come SQL . Nel linguaggio SQL esistono diversi join che vengono utilizzati per assemblare righe di due o più tabelle dalla colonna correlata. Alcuni dei join lo sono Unione interna , Partecipa a sinistra , E Giusto Partecipa . In questo articolo esploreremo i concetti con esempi di Partecipa a sinistra e Unione esterna sinistra. Insieme a questo, esamineremo anche le loro principali differenze.

Partecipa a sinistra

Il Left Join nel linguaggio SQL viene utilizzato per restituire tutti i dati o i record dalla tabella di sinistra e i dati o i record corrispondenti dalla tabella di destra. Nello scenario in cui non esiste corrispondenza, l'unione è comunque costituita dalle righe della tabella di sinistra e visualizza il file Valori NULL per le colonne della tabella di destra.



Nel contesto della query, di seguito è riportata la sintassi del Left Join.

Sintassi

SELEZIONA colonne DA left_table

LEFT JOIN right_table ON



condizione_unione;

Ora, comprendiamo il Left Join attraverso un semplice esempio:

Esempio:



1. Tabella Dati_Cliente:

identificativo del cliente

Nome del cliente

1

Gaurav

2

codifica Java se istruzione else

Anjali

3

Ramesh

2. Tabella Ordini_Dati:

ID ordine

identificativo del cliente

data dell'ordine

1

1

23-01-2023

2

1

2023-02-03

3

3

2023-03-05

4

4

2023-04-10

Interrogazione per l'unione a sinistra

SELECT Customer_Data.customer_id, Customer_Data.customer_name, Orders_Data.order_id, Orders_Data.order_date FROM Customers_Data LEFT JOIN Orders ON Customers_Data.customer_id = Orders_Data.customer_id;>

Risultato/Risultato

identificativo del cliente

ssis

Nome del cliente

ID ordine

data dell'ordine

1

Gaurav

1

23-01-2023

1

Gaurav

2

2023-02-03

2

Anjali

NULLO

NULLO

3

Ramesh

3

2023-03-05

Spiegazione

Nell'esempio sopra. Left Join include tutte le righe della tabella di sinistra ( Dati dei clienti ) e abbinarli alle righe corrispondenti della tabella di destra ( Ordini_Dati ). In questo caso, il cliente Gaurav ha 2 ordini, Anjali non ha ordini (NULL) e Ramesh ha 1 ordine.

Unione esterna sinistra

Il concetto di Unione esterna sinistra è simile e uguale al Left Join ed entrambi questi termini sono usati in modo intercambiabile. La parola chiave utilizzata qui è Esterno , che è facoltativo e inoltre non influisce sul risultato.

Vediamo la sintassi di Left Outer Join:

Sintassi

SELEZIONA colonne

DA sinistra_tabella

LEFT OUTER JOIN right_table ON

condizione_unione;

carattere in int in Java

Esempio:

Consideriamo le stesse tabelle utilizzate nell'esempio di Left Join sopra:

Query per l'unione esterna sinistra

SELECT Customer_Data.customer_id, Customer_Data.customer_name, Orders_Data.order_id, Orders_Data.order_date FROM Customers_Data  LEFT OUTER JOIN Orders ON  Customers_Data.customer_id = Orders_Data.customer_id;>

Risultato/Risultato

identificativo del cliente

Nome del cliente

ID ordine

data dell'ordine

1

Gaurav

1

come aggiornare Java

23-01-2023

1

Gaurav

2

2023-02-03

2

Anjali

NULLO

NULLO

3

Ramesh

3

2023-03-05

4

NULLO

NULLO

tipi di dati SQL

NULLO

Spiegazione

Nell'esempio precedente, i record non corrispondenti della tabella di destra ( Ordini_Dati ) sono inclusi e i valori NULL vengono visualizzati per le colonne di destra della tabella. Pertanto, il cliente con ' identificativo del cliente ' 4 nel Ordini_Dati tabella, che non ha un record corrispondente nella tabella Dati dei clienti anche la tabella viene inclusa nel set di risultati e vengono visualizzati i valori NULL, che non erano visualizzati nella condizione Left Join.

Differenza tra Left Join e Left Outer Join

Parametro

Partecipa a sinistra

Unione esterna

Record corrispondenti

In Left Join vengono inclusi i record corrispondenti della tabella di destra.

In Left Outer Join sono inclusi i record corrispondenti delle tabelle di destra.

Record non corrispondenti

Nel Left Join vengono esclusi i record non corrispondenti della tabella più a destra.

Nel Left Outer Join vengono inclusi i record non corrispondenti della tabella di destra e viene visualizzato il valore NULL per le colonne della tabella di destra.

Unisciti a Parola chiave

SINISTRA UNISCITI

GIUNZIONE ESTERNA SINISTRA

Valori nulli

Non vengono visualizzati valori NULL per le colonne di destra della tabella.

I valori NULL vengono visualizzati per le colonne di destra della tabella nel caso in cui non vi sia corrispondenza.

Sintassi

SELECT colonne FROM left_table LEFT JOIN right_table ON join_condition;

SELECT colonne FROM left_table LEFT OUTER JOIN right_table ON join_condition;

Domande frequenti su Left Join e Left Outer Join

1. Quando dovremmo utilizzare il Left Join?

Left Join dovrebbe essere utilizzato quando dobbiamo restituire tutte le righe dalla tabella più a sinistra, anche se non ci sono righe corrispondenti nella tabella più a destra. Ciò è utile nello scenario in cui vogliamo elencare tutti i dati della tabella di sinistra, indipendentemente dal fatto che contenga dati nella tabella di destra.

2. Quali sono i vantaggi derivanti dall'utilizzo di Left Join?

Esistono vari tipi di vantaggi derivanti dall'utilizzo di Left Join, potenzialmente ci consente di visualizzare tutti i dati nella tabella di sinistra, anche se non contiene dati nella tabella di destra. Questo può essere utilizzato per attività di controllo.

3. Spiegare i risultati di Left Outer Join.

I risultati di Left Outer Join sono costituiti da righe della tabella di sinistra e anche da righe corrispondenti della tabella di destra. Nel caso in cui non siano presenti righe corrispondenti nella tabella di destra, le colonne corrispondenti nel set di risultati verranno visualizzate come NULL.

4. Possiamo utilizzare la clausola ORDER BY insieme a Left Outer Join?

Sì, possiamo utilizzare la clausola ORDER BY insieme a Left Outer Join nella query. Ciò ordinerà i risultati dell'unione come farebbe con qualsiasi altra query.