01 · SELECT base
- SELECT … FROM
- WHERE
- ORDER BY (ASC/DESC)
Fine del Corso SQL
Complimenti: hai attraversato gli 8 moduli del Corso SQL — dalle prime SELECT fino a WITH RECURSIVE, alle window function e alle transazioni. Qui sotto trovi la mappa di tutto quello che ora padroneggi e una sfida finale che ne combina i pezzi chiave. Se la risolvi, sei pronto per scrivere SQL in qualunque progetto reale.
Quattro tecniche in una sola query: una CTE che aggrega gli ordini per cliente, due JOIN per costruirla, una window function per assegnare la classifica e LIMIT per restituire il podio. Nessuna lezione nuova: solo combinare quello che hai imparato dal Modulo 1 al Modulo 8.
Trova i 3 clienti che hanno speso di più in assoluto. Usa una CTE per calcolare la spesa totale per cliente (somma di quantity * unit_price su tutti gli order_items), poi assegna a ciascuno il rank con RANK() OVER (ORDER BY ... DESC) e restituisci first_name, last_name, total e rank, ordinati dal più alto al più basso. Limita a 3 righe.
Nella CTE: JOIN orders su o.customer_id = c.id, JOIN order_items su oi.order_id = o.id, somma quantity * unit_price. Nella query esterna: RANK() OVER (ORDER BY total DESC) e LIMIT 3.
Soluzione disponibile dopo 3 tentativi
Una pagina con tutta la sintassi essenziale di SQL, pronta da tenere sotto mano mentre scrivi le tue query.
Il modo migliore per consolidare è pratica libera. Apri il Playground, carica uno dei dataset e prova a rispondere a domande che ti vengono in mente: chi guadagna sopra la media di tutto il mondo?, quanti dipendenti per città?, quali progetti hanno almeno due persone assegnate? Niente di meglio per trasformare la teoria in istinto.