Guide SQL

Progetto SQL per principianti: analizzare le vendite passo dopo passo

La responsabile di un negozio chiede quale città genera più ricavi. Prima di costruire un rapporto, definiamo il perimetro, il significato di una riga e il controllo del totale.

Questo esempio gratuito usa sei vendite fittizie in euro. Ogni riga è una vendita conclusa; annullamenti, rimborsi e imposte sono fuori dal perimetro. Introduce il metodo del progetto guidato, che usa un proprio dataset.

1. Comprendere i dati prima della query

sale_id identifica la vendita; city indica la città; channel distingue il negozio (store) dal sito (online); amount contiene il valore in euro. L’identificativo univoco permette di controllare che una vendita non venga contata due volte.

Dati fittizi dell’esempio — sales (EUR)
sale_idcitychannelamount
1Parisstore120
2Lyononline80
3Parisonline180
4Lillestore50
5Lyonstore100
6Lilleonline70

2. Trasformare la domanda in passaggi

  1. Parti dalla tabella sales: una riga rappresenta una vendita.
  2. Raggruppa per city per ottenere una riga per città.
  3. Somma amount con SUM per calcolare i ricavi.
  4. Ordina dal ricavo più alto al più basso.

3. Eseguire la prima analisi SQL

Dialetto: PostgreSQL. SELECT, SUM, GROUP BY e ORDER BY sono ampiamente condivisi dai motori SQL.

Query da provare
SELECT city, SUM(amount) AS revenue
FROM sales
GROUP BY city
ORDER BY revenue DESC, city;

Ambiente SQL nel browser

3. Eseguire la prima analisi SQL

Esegui una query di lettura sui dati fittizi di questo esercizio. Nulla viene inviato a SQL.tn.

Locale e privato
Scorciatoia: Ctrl/⌘ + Invio
L’ambiente SQL verrà preparato alla prima esecuzione.

4. Verificare il risultato prima di concludere

Parigi totalizza 300 €, Lione 180 € e Lille 120 €. La somma è 600 €, come quella delle sei vendite. Ogni città ha due vendite: COUNT(*) ne misurerebbe il numero, non i ricavi.

5. Ampliare l’analisi

Conserva solo il canale online. Inserisci il filtro prima di GROUP BY. Il totale deve diventare 330 €: Parigi 180 €, Lione 80 € e Lille 70 €. Spiega come hai modificato il perimetro.

Un indizio

Aggiungi WHERE channel = 'online' tra FROM sales e GROUP BY city.

Continua nel progetto guidato

Hai esercitato lettura, raggruppamento e controllo di un risultato. Crea un account gratuito per svolgere le missioni del progetto vendite e salvare i progressi. Questo esempio non completa automaticamente le missioni del progetto.