SQL Server Full Outer Join (Italiano)

Riepilogo: in questo tutorial imparerai a utilizzare SQL Server FULL OUTER JOIN per eseguire query sui dati da due o più tabelle.

Introduzione al full outer join di SQL Server

FULL OUTER JOIN restituisce un set di risultati che include righe da entrambe le tabelle di sinistra e di destra. Quando non esistono righe corrispondenti per la riga nella tabella di sinistra, le colonne della tabella di destra avranno valori nulli. Allo stesso modo, quando non esistono righe corrispondenti per la riga nella tabella di destra, la colonna della tabella di sinistra avrà valori nulli.

Quanto segue mostra la sintassi di FULL OUTER JOIN quando si uniscono due tabelle T1 e T2:

Code language: SQL (Structured Query Language) (sql)

La parola chiave OUTER è facoltativa, quindi puoi saltarla come mostrato nella seguente query:

Code language: SQL (Structured Query Language) (sql)

In questa sintassi :

  • Innanzitutto, specifica la tabella a sinistra T1 nella clausola FROM.
  • In secondo luogo, specifica la tabella corretta T2 e un predicato di join.

Il seguente diagramma di Venn illustra il FULL OUTER JOIN di due set di risultati:

Esempio di join esterno completo di SQL Server

Configuriamo una tabella di esempio per dimostrare il join esterno completo.

Innanzitutto, crea un nuovo schema denominato pm che sta per project management.

Code language: SQL (Structured Query Language) (sql)

Successivamente, crea nuove tabelle denominate projects e members nello schema pm:

Supponiamo che solo ogni membro possa partecipare in un progetto e ogni progetto ha zero o più membri. Se un progetto è in fase di idea, quindi non ci sono membri assegnati.

Quindi, inserisci alcune righe in projects e members tabelle:

Successivamente, interroga i dati delle tabelle projects e members:

Code language: SQL (Structured Query Language) (sql)
Code language: SQL (Structured Query Language) (sql)

Infine, utilizza FULL OUTER JOIN per eseguire query sui dati dalle tabelle projects e members:

Ecco loutput:

In questo esempio, la query ha restituito membri che partecipano a progetti, membri che non partecipano a progetti e progetti che non hanno membri.

Per trovare membri che non partecipano a qualsiasi progetto e progetti w Se non hai membri, aggiungi una clausola WHERE alla query precedente:

Limmagine seguente mostra loutput:

Come chiaramente mostrato nelloutput, Jack Daniel non partecipa ad alcun progetto e Develop Mobile Sales Platform non ha membri.

In questo tutorial, hai imparato a utilizzare SQL Server completamente esterno join per eseguire query sui dati da due o più tabelle.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *