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.