Sottoquery in SQL per gli utenti di LuckyTemplates

Sottoquery in SQL per gli utenti di LuckyTemplates

In questo tutorial impareremo e capiremo come utilizzare una sottoquery in SQL. Una sottoquery è una query all'interno di un'altra query. Possiamo anche chiamarla una query nidificata all'interno di una query più grande. Deve essere racchiuso tra parentesi e utilizzato principalmente in una clausola WHERE .

Sottoquery in SQL per gli utenti di LuckyTemplates

Possiamo utilizzare sottoquery in SQL quando dobbiamo portare dati da più tabelle.

Ad esempio, supponiamo di avere queste 2 tabelle. 

Sottoquery in SQL per gli utenti di LuckyTemplates

Questo è il problema che dobbiamo risolvere. Abbiamo bisogno di ottenere il nome del cliente, l'ID e-mail e l'indirizzo dei clienti che hanno acquistato nel 2022. Ciò non è possibile utilizzando solo la tabella Clienti perché in quella tabella non è presente alcuna colonna relativa alle vendite o alla data dell'ordine. Abbiamo altri modi per risolvere questo problema.

Sottoquery in SQL per gli utenti di LuckyTemplates

Sommario

Recupero manuale dei dati tramite più query individuali

Innanzitutto, poiché abbiamo CustomerId dalla tabella Sales , quello che possiamo fare è ottenere l'ID dei clienti delle persone che hanno acquistato nel 2022 dalla colonna OrderDate sulla tabella Sales

Sottoquery in SQL per gli utenti di LuckyTemplates

Supponendo che ora abbiamo l'ID clienti ( 1, 3, 5, 7, 8, 9… ) delle persone che hanno acquistato dal 2022, possiamo quindi creare un'altra query per ottenere le informazioni di quei clienti attraverso la tabella Clienti in base al loro documento d'identità .

Sottoquery in SQL per gli utenti di LuckyTemplates

Il problema con questo metodo è che abbiamo eseguito il processo manualmente. Innanzitutto, dobbiamo ottenere l'ID dei clienti e inserirli manualmente nella query successiva per ottenere le informazioni sui clienti. 

Ottenere dati automaticamente tramite sottoquery in SQL

Invece di inserire manualmente i loro ID, possiamo farlo automaticamente utilizzando una sottoquery in SQL . Possiamo usarlo insieme alla condizione IN per portare automaticamente l'ID del cliente o qualsiasi dato di cui abbiamo bisogno per risolvere un determinato problema. 

Questo è un esempio di cosa possiamo fare per risolvere il problema. In questa query di esempio selezioniamo il nome, l'indirizzo e l'ID e-mail dei clienti dalla tabella Clienti in base all'ID cliente proveniente dalla query nidificata. In questa query nidificata, l'ID cliente proviene dalla tabella Sales con data ordine 2022.

Sottoquery in SQL per gli utenti di LuckyTemplates

Con questa tecnica, non è necessario inserire manualmente l'ID cliente delle persone che hanno acquistato dall'anno 2022. Verrà recuperato automaticamente dalla query nidificata che abbiamo creato. 

Scenario di sottoquery di esempio tramite SQL Server Management Studio

Ora abbiamo uno scenario simile e questa volta facciamolo all'interno di SQL Server Management Studio ( SSMS ). In questo esempio, abbiamo altre due tabelle SalesOrderHeader e SalesTerritory

Sottoquery in SQL per gli utenti di LuckyTemplates

Il nostro obiettivo è ottenere tutte le informazioni su SalesOrderHeader da un'area geografica degli Stati Uniti . In SalesOrderHeader non è presente la colonna country region. 

Sottoquery in SQL per gli utenti di LuckyTemplates

Tuttavia, possiamo utilizzare la colonna TerritoryID disponibile anche nella tabella SalesTerritory . È qui che possiamo anche ottenere le informazioni sulla regione del paese che è la colonna CountryRegionCode .

Sottoquery in SQL per gli utenti di LuckyTemplates

Sottoquery in SQL per gli utenti di LuckyTemplates

Ancora una volta, possiamo farlo manualmente ottenendo prima il TerritoryID dalla tabella SalesTerritory con una regione del paese degli Stati Uniti

Sottoquery in SQL per gli utenti di LuckyTemplates

Avremo quindi l'elenco di TerritoryID sotto la regione del paese degli Stati Uniti .

Sottoquery in SQL per gli utenti di LuckyTemplates

Successivamente, possiamo utilizzare quegli ID per ottenere il risultato desiderato inserendoli manualmente nella nostra query.

Sottoquery in SQL per gli utenti di LuckyTemplates

Sottoquery in SQL per gli utenti di LuckyTemplates

Ma invece di inserire manualmente gli ID, possiamo farlo facilmente utilizzando una sottoquery. Dobbiamo solo sostituirlo con la nostra prima query in cui otteniamo il TerritoryID nella tabella SalesTerritory con una regione del paese degli Stati Uniti. 

Sottoquery in SQL per gli utenti di LuckyTemplates

Ci darà quindi lo stesso risultato del processo manuale. 

Sottoquery in SQL per gli utenti di LuckyTemplates

Conclusione

Per riassumere, abbiamo appreso l'uso e l'importanza delle sottoquery in SQL. Abbiamo anche discusso la sintassi corretta per la creazione di determinate sottoquery. Possiamo certamente creare più query per creare un processo manuale per ottenere un determinato output. Tuttavia, possiamo invece utilizzare l'uso di subquery con la clausola WHERE e la condizione IN per recuperare automaticamente determinati dati da un'altra tabella.

Si spera che sarai in grado di utilizzare questa tecnica per ottenere un utilizzo più efficiente delle tue query future.

Ti auguro il meglio,

Hafiz

Download e installazione di SQL Server
SQL per utenti di LuckyTemplates: nuovo corso LuckyTemplates
Esecuzione di query sui dati da più origini dati


Power Automate si applica a ogni azione nei flussi di lavoro

Power Automate si applica a ogni azione nei flussi di lavoro

Scopri l

Tecniche di modellazione dei dati per organizzare le misure DAX

Tecniche di modellazione dei dati per organizzare le misure DAX

Tecniche di modellazione dei dati per organizzare meglio le misure DAX per un flusso di lavoro più efficiente.

Filtro Power Apps: cosè e come si usa?

Filtro Power Apps: cosè e come si usa?

Scopri come utilizzare la funzione di filtro in Power Apps e come incorporarla nelle formule esistenti all

Come commentare più righe in Python: una guida semplice e veloce

Come commentare più righe in Python: una guida semplice e veloce

Come commentare più righe in Python: una guida semplice e veloce

Connettori Power Automate: numero, testo e data e ora

Connettori Power Automate: numero, testo e data e ora

Acquisisci familiarità con i connettori Power Automate per la manipolazione di numeri, testo e date/ore.

Budget Vs Actual Vs Last Year - Suggerimenti per la rendicontazione finanziaria

Budget Vs Actual Vs Last Year - Suggerimenti per la rendicontazione finanziaria

Ora, è molto facile studiare il budget rispetto all

Come salvare e caricare un file RDS in R

Come salvare e caricare un file RDS in R

Imparerai come salvare e caricare oggetti da un file .rds in R. Questo articolo tratta anche come importare oggetti da R a LuckyTemplates.

Che cosè Power Query e M Language: una panoramica dettagliata

Che cosè Power Query e M Language: una panoramica dettagliata

Scopri tutto su Power Query e il linguaggio M per la trasformazione e la preparazione dei dati nel desktop di LuckyTemplates.

Cosè il sé in Python: esempi del mondo reale

Cosè il sé in Python: esempi del mondo reale

Cos'è il sé in Python: esempi del mondo reale

Rivisitazione dei primi N giorni lavorativi: una soluzione per il linguaggio di codifica DAX

Rivisitazione dei primi N giorni lavorativi: una soluzione per il linguaggio di codifica DAX

In questa esercitazione sul linguaggio di codifica DAX, scopri come usare la funzione GENERATE e come modificare dinamicamente il titolo di una misura.