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.