Riepilogo: in questo tutorial, imparerai a conoscere la clausola SQL Server LEFT JOIN
e come usarlo per interrogare i dati da più tabelle.
Introduzione alla clausola LEFT JOIN di SQL Server
La clausolaLEFT JOIN
consente di interrogare i dati da più tabelle. Restituisce tutte le righe dalla tabella di sinistra e le righe corrispondenti dalla tabella di destra. Se non si trovano righe corrispondenti nella tabella di destra, vengono utilizzati NULL
.,
Quanto segue illustra come unire due tabelle T1 e T2 usando la clausolaLEFT JOIN
:
Code language: SQL (Structured Query Language) (sql)
In questa sintassi, T1 e T2 sono rispettivamente le tabelle sinistra e destra.
Per ogni riga della tabella T1, la query la confronta con tutte le righe della tabella T2. Se una coppia di righe fa sì che il predicato join valuti su TRUE
, i valori delle colonne di queste righe verranno combinati per formare una nuova riga che verrà quindi inclusa nel set di risultati.,
Se una riga della tabella di sinistra (T1) non ha alcuna riga corrispondente dalla tabella T2, la query combina i valori della colonna della riga della tabella di sinistra conNULL
per ogni valore della colonna della tabella di destra.
In breve, la clausola LEFT JOIN
restituisce tutte le righe della tabella di sinistra (T1) e le righe corrispondenti o NULL
i valori della tabella di destra (T2).
Quanto segue illustra il LEFT JOIN
di due tabelle T1(1, 2, 3) e T2(A, B, C)., LEFT JOIN
corrispondono alle righe dalla tabella T1 con le righe dalla tabella T2 utilizzando modelli:
In questa illustrazione, nessuna riga dalla tabella T2 corrisponde alla riga 1 della tabella T1, quindi, NULL viene utilizzato. Le righe 2 e 3 della tabella T1 corrispondono rispettivamente alle righe A e B della tabella T2.,
di SQL Server LEFT JOIN esempio
Consultare il seguente products
e order_items
tabelle:
Ogni posizione dell’ordine di vendita comprende un unico prodotto. Il collegamento tra le tabelleorder_items
eproducts
è la colonnaproduct_id
.,
La seguente dichiarazione utilizza il LEFT JOIN
clausola di query di dati products
e order_items
tabelle:
Come si può vedere chiaramente dal set di risultati, un elenco di NULL
nel order_id
colonna indica che i prodotti non sono venduti a clienti che di sicurezza.
È possibile utilizzare la clausola WHERE
per limitare il set di risultati., La query seguente restituisce i prodotti che non vengono visualizzati in ogni ordine di vendita:
Come sempre, i processi di SQL Server WHERE
clausola dopo il LEFT JOIN
clausola.,
The following example shows how to join three tables: production.products
, sales.orders
, and sales.order_items
using the LEFT JOIN
clauses:
Here is the output:
SQL Server LEFT JOIN: conditions in ON vs., Clausola WHERE
La query seguente individua i prodotti che appartengono all’ordine id 100:
spostare la condizione order_id = 100
per il ON
clausola:
La query ha restituito tutti i prodotti ma solo l’ordine con id 100 associati informazioni del prodotto.,
Si noti che per la clausolaINNER JOIN
, la condizione nella clausolaON
è funzionalmente equivalente se viene inserita nella clausolaWHERE
.
In questo tutorial, hai imparato come utilizzare la clausola SQL Server LEFT JOIN
per recuperare i dati da più tabelle correlate.
Lascia un commento