SQL Join | |
|
SQL >
Comandi SQL >
Join
Verranno adesso analizzate le unioni. Per realizzare correttamente le unioni in SQL, sono necessari molti degli elementi introdotti finora. Si supponga di disporre delle seguenti due tabelle: Tabella Store_Information
Tabella Geography
e che si desideri trovare le vendite in base alla regione. Come si può notare, nella tabella Geography sono contenute le informazioni relative alle regioni e ai negozi, mentre in quella Store_Information sono contenute le informazioni relative alle vendite per ciascun negozio. Per ottenere le informazioni relative alle vendite in base alla regione, è necessario combinare le informazioni contenute nelle due tabelle. Esaminando le due tabelle, si noterà che sono collegate mediante il campo comune “store_name”. Verrà prima presentata l’istruzione SQL mentre, successivamente, verrà spiegato l’utilizzo di ciascun segmento: SELECT A1.Region_Name REGION, SUM(A2.Sales) SALES
FROM Geography A1, Store_Information A2 WHERE A1.Store_Name = A2.Store_Name GROUP BY A1.Region_Name; Risultato:
Le prime due righe dicono a SQL di selezionare due campi: il primo è il campo "region_name" dalla tabella Geography (il cui alias è REGION), il secondo rappresenta la somma del campo "Sales" dalla tabella Store_Information (il cui alias è SALES). Si noti come vengono utilizzati qui gli alias di tabella: Geography dispone dell’alias A1 e Store_Information dispone dell’alias A2. Senza gli alias, la prima riga diventerebbe: SELECT Geography.Region_Name REGION, SUM(Store_Information.Sales) SALES
risultando molto più scomoda. Fondamentalmente, gli alias di tabella rendono l’intera istruzione SQL molto più semplice da comprendere, specialmente quando sono incluse diverse tabelle. Successivamente, si presti attenzione alla riga 3, l’istruzione WHERE. Questa rappresenta la condizione in cui viene specificata l’unione. In questo caso, si desidera assicurarsi che il contenuto di "store_name" presente nella tabella Geography corrisponde a quello presente nella tabella Store_Information. . A questo scopo, è sufficiente impostarli in modo uguale. Questa istruzione WHERE risulta essenziale per assicurarsi che l’output recuperato è quello corretto. Senza l’istruzione WHERE corretta, verrà restituita un’unione cartesiana. Le unioni cartesiane risultano dalle interrogazioni che restituiscono ogni combinazione possibile delle due tabelle (o qualsiasi numero di tabelle presenti nell’istruzione FROM). In questo caso, un’unione cartesiana risulterebbe in un totale di 4 x 4 = 16 righe restituite.
Copyright © 2024 1keydata.com Tutti i diritti riservati |