Hai bisogno di nominare un passaggio?
Una sottoquery breve è adatta per un valore di confronto o un risultato utilizzato una sola volta. Uno CTE rende visibile un passo aziendale e facilita il concatenamento di diverse trasformazioni.
Nessuno dei due da solo garantisce prestazioni migliori. Il motore può ottimizzarli diversamente; resta necessaria la misurazione su dati reali.
La domanda è stata spiegata
Inizia definendo cosa dovrebbe rappresentare una riga del risultato. Questa decisione determina le colonne, i raggruppamenti e i controlli necessari.
L'esempio seguente isola il meccanismo principale. Eseguilo, osserva il risultato, quindi modifica una clausola alla volta per comprenderne l'effetto.
WITH totaux AS (
SELECT SUM(chiffre_affaires) AS ca, SUM(couts) AS couts
FROM ventes_mensuelles
)
SELECT ca, couts, ca - couts AS marge
FROM totaux;Leggi il risultato come un analista
I totali CTE corrispondono ad un passo nominabile. La query finale rimane focalizzata sull'indicatore consegnato.
Durante la costruzione, eseguire separatamente il contenuto di ciascun CTE per verificarne il livello di dettaglio e i totali.
- Nomina la responsabilità del passaggio.
- Controllare il livello di dettaglio intermedio.
- Evitare CTE decorativi.
- Rispettare il piano sulle query costose.
Errori che distorcono l'analisi
Una query può essere valida senza rispondere correttamente alla domanda. Gli errori più costosi spesso sono silenziosi: perimetro sbagliato, linea moltiplicata o valore mancante interpretato come zero.
Prima di condividere il risultato, confrontalo con un piccolo campione calcolato manualmente e mantieni la definizione dell'ambito con la query.
- Taglia ogni linea in uno CTE.
- Supponiamo che uno CTE acceleri sempre.
- Riutilizzare un alias al livello sbagliato.
- Nascondi un join complesso senza controllarne il risultato.
Mettiti in pratica
Costruisci l'esercizio sul margine globale con CTE, quindi scrivi una versione della sottoquery e confronta la leggibilità.
Il simulatore SQL di SQL.tn esegue solo query di lettura su dati fittizi nel tuo browser. Puoi provare più scritture e confrontare i risultati senza installare alcun software.
Metti in pratica questa guida.
Apri l’esercizio collegato, esegui la query e confronta il risultato atteso.
