Espressioni di tabelle SQL comuni per gli utenti di LuckyTemplates

Espressioni di tabelle SQL comuni per gli utenti di LuckyTemplates

In questo blog discuteremo alcune espressioni di tabella comuni, note anche come CTE . Se riscontri problemi complessi, l'utilizzo di queste espressioni di tabella SQL può aiutarti.

Con CTE puoi suddividere qualsiasi attività in query piccole e gestibili per risolvere problemi complicati.

Ora esploriamo come CTE può rendere il tuo lavoro più efficiente nella risoluzione dei problemi dei codici.

Sommario

Sintassi per la creazione di espressioni di tabelle SQL comuni 

Innanzitutto, devi digitare " WITH " seguito dal nome della tua espressione CTE , seguito da " AS ".

Espressioni di tabelle SQL comuni per gli utenti di LuckyTemplates

Successivamente, puoi fornire qualsiasi query tra parentesi. Questo verrà memorizzato nel nome dell'espressione fornito che funzionerà come una tabella virtuale.

Espressioni di tabelle SQL comuni per gli utenti di LuckyTemplates

Quindi, aggiungi un'istruzione SELECT utilizzando la tabella virtuale che hai creato tramite il nome dell'espressione che hai impostato.

Espressioni di tabelle SQL comuni per gli utenti di LuckyTemplates

Per il nostro esempio, useremo " USACusts " per il nome dell'espressione .

Espressioni di tabelle SQL comuni per gli utenti di LuckyTemplates

E per la query, useremo questo codice. 

Espressioni di tabelle SQL comuni per gli utenti di LuckyTemplates

Questa query creerà una tabella virtuale. Mostrerà un importo totale o aggregato raggruppato per ID cliente in cui il paese di appartenenza è " USA ". I dati verranno estratti dalla tabella Vendite.Clienti .

Saranno visibili due colonne, che sono custid e Agg_Amount . Prendi nota che la tabella USACusts non è una tabella fisica ma solo una tabella virtuale. Ciò significa che non sarà visibile nel nostro database.

Dopo la query, possiamo quindi aggiungere un'istruzione SELECT .

Espressioni di tabelle SQL comuni per gli utenti di LuckyTemplates

Questa istruzione selezionerà tutti gli Agg_Amount maggiori di 1000 dalla tabella USACusts .

Espressioni di tabelle SQL comuni multiple 

Più CTE possono aiutarti a risolvere errori complessi nel tuo codice suddividendoli in blocchi più piccoli. Inoltre, puoi definire tutte le CTE che desideri. Di seguito è riportato un esempio di più CTE .

Espressioni di tabelle SQL comuni per gli utenti di LuckyTemplates

Per questo esempio, abbiamo il primo CTE che è C1 . Da lì, abbiamo selezionato YEAR(orderdate) e creato 2 colonne che sono orderyear e custid dalla tabella Sales.Orders .

Per il secondo CTE denominato C2 , abbiamo selezionato orderyear e raccolto il numero di custid utilizzando il comando COUNT . Quindi l'abbiamo chiamato come numcusts da C1 . È stata inoltre aggiunta una condizione WHERE in C2 per selezionare solo l' orderyear maggiore di 2015 . Quindi li abbiamo raggruppati per orderyear .

Successivamente, abbiamo selezionato orderyear e numcusts da C2 . Quindi abbiamo aggiunto una condizione WHERE per selezionare solo il numero di clienti maggiore di 500 .

Per riassumere, questo codice viene utilizzato per selezionare i clienti in cui orderyear è maggiore di 2015 e selezionare solo il numero di clienti che sono più di 500 in base alla condizione orderyear .

Utilizzo di più CTE per la risoluzione di codici complessi

Successivamente, dimostrerò altri esempi per enfatizzare ulteriormente l'utilizzo di CTE nella risoluzione dei problemi di un grande insieme di dati. Ecco un altro esempio di più CTE .

Espressioni di tabelle SQL comuni per gli utenti di LuckyTemplates

Tieni presente che puoi nominare i CTE nel modo desiderato, ma per questo blog utilizziamo C1 , C2 , C3 e così via per identificare e comprendere facilmente come li utilizziamo nei nostri esempi.

Tornando all'esempio, abbiamo creato C1 per selezionare solo le vendite in cui la quantità dell'ordine è maggiore di 5 dalla tabella Sales.SalesOrderDetails .

Espressioni di tabelle SQL comuni per gli utenti di LuckyTemplates

Quindi in C2 , abbiamo utilizzato i dati archiviati in C1 per unire il prodotto in base a Product.ID e li abbiamo raggruppati per nome del prodotto (p.Name) e colore del prodotto (p.Color) .

Poiché abbiamo dichiarato una condizione in C1 , raggrupperemo solo il nome del prodotto e il colore del prodotto in C2 per gli ordini in cui la quantità dell'ordine (OrderQty) è maggiore di 5 .

Espressioni di tabelle SQL comuni per gli utenti di LuckyTemplates

Successivamente, utilizzeremo un comando per selezionare tutti i dati da C2 con una quantità dell'ordine maggiore di 1000 .

Per la risoluzione dei problemi, puoi semplicemente selezionare ciascuno dei CTE che hai creato per verificare se mostra i dati corretti. Fare riferimento agli esempi seguenti.

Espressioni di tabelle SQL comuni per gli utenti di LuckyTemplates

Per C1 , mostra tutti i dati della tabella Sales.SalesOrderDetail con una quantità dell'ordine maggiore di 5 .

Espressioni di tabelle SQL comuni per gli utenti di LuckyTemplates

Quindi C2 mostra un output della quantità dell'ordine raggruppata per nome prodotto e colore da C1 . In C2 , possiamo vedere la colonna orderqty ma in realtà non ce l'abbiamo in C2 perché è solo una colonna calcolata che abbiamo generato da C1 . Da qui, possiamo quindi iniziare a utilizzare qualsiasi condizione nella colonna orderqty ed eseguire la risoluzione dei problemi.

Quindi, ora puoi vedere come più CTE possono aiutarci a risolvere errori in codici complessi memorizzandoli in CTE e avviando la risoluzione dei problemi senza danneggiare il codice effettivo.

Utilizzo di CTE con istruzione Case

Facciamo un altro esempio con lo stesso contesto per mostrare come possiamo utilizzare più CTE nella risoluzione dei problemi di codici complessi. 

In questo caso, utilizzeremo un'istruzione CASE che creerà una colonna Product Category con risultati basati sulla quantità aggregata di orderqty da C2 .

Espressioni di tabelle SQL comuni per gli utenti di LuckyTemplates

Come accennato in precedenza, non avevamo orderqty nel primo CTE e Product Category , ma abbiamo utilizzato tabelle intermedie per calcolare ed eseguire calcoli diversi.

Nel prossimo esempio, creeremo un importo aggregato basato sulla categoria di prodotto che abbiamo creato nell'esempio precedente. Ma per fare ciò, inseriremo l' istruzione CASE per Product Category nel terzo CTE che è C3 .

Espressioni di tabelle SQL comuni per gli utenti di LuckyTemplates

Prima di procedere, controlliamo l'output di C3 aggiungendo " SELECT * FROM C3 " sotto C3 .

Espressioni di tabelle SQL comuni per gli utenti di LuckyTemplates

In C3 possiamo vedere le colonne ProductName , Color , orderqty e Product Category . Da qui, possiamo iniziare ad aggregare in base alla Product Category . Facciamolo usando il seguente comando sotto C3 .

Espressioni di tabelle SQL comuni per gli utenti di LuckyTemplates

L'esempio seguente è il risultato dopo aver creato un importo aggregato utilizzando il comando precedente.

Espressioni di tabelle SQL comuni per gli utenti di LuckyTemplates

Inizialmente, non avevamo le colonne Product Category e orderqty , ma siamo in grado di generare output di esempio basati su queste colonne utilizzando più CTE .

A questo punto, puoi vedere che possiamo fare qualsiasi cosa con l'aiuto dei CTE per lavorare con i nostri codici in modo più efficiente.

Tabelle e viste temporanee SQL per LuckyTemplates
Filtro utente in SQL utilizzando IN, NOT IN, LIKE e NOT LIKE
Estrazione dati SQL utilizzando OFFSET e FETCH

Conclusione

In questo tutorial, hai imparato la sintassi corretta nella creazione di espressioni di tabella SQL comuni e come utilizzare più CTE nella risoluzione dei problemi di codici complessi isolando piccole parti di dati e memorizzandole all'interno di un dato CTE .

Imparando questo, ora hai la possibilità di eseguire il debug dei tuoi codici in modo più efficiente. Ricorda che puoi utilizzare qualsiasi nome per CTE e non puoi utilizzare o chiamare alcun CTE a meno che non sia stato creato. Una volta acquisita familiarità con CTE , puoi considerarti un utente intermedio di SQL .

Se desideri saperne di più su questo argomento e altri contenuti correlati, puoi sicuramente consultare l'elenco dei link pertinenti di seguito.

Ti auguro il meglio,

Hafiz


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.