Sei sulla pagina 1di 6

Join Esterni

Usare un'operazione LEFT JOIN per creare un left outer join. I left outer join includono tutti i record della prima
(sinistra) di due tabelle, anche se non sono presenti valori corrispondenti per i record della seconda tabella (destra).

Usare un'operazione RIGHT JOIN per creare un right outer join. I right outer join includono tutti i record della
seconda (destra) di due tabelle, anche se non sono presenti valori corrispondenti per i record della prima tabella
(sinistra).

Ad esempio, è possibile usare LEFT JOIN con le tabelle Reparti (sinistra) e Dipendenti (destra) per selezionare tutti i
reparti, inclusi quelli senza dipendenti assegnati. Per selezionare tutti i dipendenti, inclusi quelli non assegnati a un
reparto, è possibile usare RIGHT JOIN.

L'esempio restituisce un elenco di tutte le categorie, incluse quelle che non contengono prodotti:

SELECT CategoryName, ProductName FROM Categories LEFT JOIN Products ON


Categories.CategoryID = Products.CategoryID;

Conteggio di tutte le categorie, incluse quelle che non contengono prodotti:

SELECT Categorie.NomeCategoria, Count(Prodotti.NomeProdotto) AS


ConteggioDiNomeProdotto FROM Categorie left JOIN Prodotti ON Categorie.IDCategoria
= Prodotti.IDCategoria

GROUP BY Categorie.NomeCategoria;
TRANSFORM Count(Prodotti.[IDProdotto]) AS ConteggioDiIDProdotto

SELECT Prodotti.[IDFornitore], Count(Prodotti.[IDProdotto]) AS [Totale di IDProdotto]

FROM Prodotti

GROUP BY Prodotti.[IDFornitore]

PIVOT Prodotti.[IDCategoria];

Quando si riepilogano i dati usando una query a campi incrociati, si selezionano i valori da campi o espressioni
specificati come intestazioni di colonna in modo da visualizzare i dati in un formato più compatto rispetto a una
query di selezione.

L'istruzione TRANSFORM precede un'istruzione SELECT che specifica i campi usati come intestazioni di riga e una
clausola GROUP BY che specifica il raggruppamento delle righe. È possibile includere facoltativamente altre clausole,
ad esempio WHERE, che specificano altri criteri di selezione o ordinamento. In una query a campi incrociati si
possono usare anche sottoquery come predicati, in particolare quelle della clausola WHERE.

I valori restituiti in campo pivot vengono usati come intestazioni di colonna nel set di risultati della query.

Ad esempio, il calcolo pivot dei dati sulle vendite nel mese di vendita in una query a campi incrociati crea 12 colonne.
È possibile limitare il campopivot per creare intestazioni da valori fissi (valore1, valore2) nella clausola IN facoltativa.
È anche possibile includere valori fissi per i quali non esistono dati per creare colonne aggiuntive.

Potrebbero piacerti anche