Cosè il sé in Python: esempi del mondo reale
Cos'è il sé in Python: esempi del mondo reale
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 ".
Successivamente, puoi fornire qualsiasi query tra parentesi. Questo verrà memorizzato nel nome dell'espressione fornito che funzionerà come una tabella virtuale.
Quindi, aggiungi un'istruzione SELECT utilizzando la tabella virtuale che hai creato tramite il nome dell'espressione che hai impostato.
Per il nostro esempio, useremo " USACusts " per il nome dell'espressione .
E per la query, useremo questo codice.
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 .
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 .
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 .
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 .
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 .
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.
Per C1 , mostra tutti i dati della tabella Sales.SalesOrderDetail con una quantità dell'ordine maggiore di 5 .
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 .
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 .
Prima di procedere, controlliamo l'output di C3 aggiungendo " SELECT * FROM C3 " sotto C3 .
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 .
L'esempio seguente è il risultato dopo aver creato un importo aggregato utilizzando il comando precedente.
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
Cos'è il sé in Python: esempi del mondo reale
Imparerai come salvare e caricare oggetti da un file .rds in R. Questo blog tratterà anche come importare oggetti da R a LuckyTemplates.
In questa esercitazione sul linguaggio di codifica DAX, scopri come usare la funzione GENERATE e come modificare dinamicamente il titolo di una misura.
Questo tutorial illustrerà come utilizzare la tecnica di visualizzazione dinamica multi-thread per creare approfondimenti dalle visualizzazioni di dati dinamici nei report.
In questo articolo, esaminerò il contesto del filtro. Il contesto del filtro è uno degli argomenti principali che qualsiasi utente di LuckyTemplates dovrebbe inizialmente conoscere.
Voglio mostrare come il servizio online di LuckyTemplates Apps può aiutare nella gestione di diversi report e approfondimenti generati da varie fonti.
Scopri come elaborare le modifiche al margine di profitto utilizzando tecniche come la ramificazione delle misure e la combinazione di formule DAX in LuckyTemplates.
Questo tutorial discuterà delle idee di materializzazione delle cache di dati e di come influiscono sulle prestazioni dei DAX nel fornire risultati.
Se finora utilizzi ancora Excel, questo è il momento migliore per iniziare a utilizzare LuckyTemplates per le tue esigenze di reportistica aziendale.
Che cos'è il gateway LuckyTemplates? Tutto quello che devi sapere