01 · SELECT de base
- SELECT … FROM
- WHERE
- ORDER BY (ASC/DESC)
Fin du cours SQL
Félicitations : vous avez parcouru les 8 modules du cours SQL — des premiers SELECT jusqu'à WITH RECURSIVE, aux fonctions de fenêtrage et aux transactions. Vous trouverez ci-dessous la carte de tout ce que vous maîtrisez désormais, ainsi qu'un défi final qui combine leurs éléments clés. Si vous le résolvez, vous êtes prêt à écrire du SQL dans n'importe quel projet réel.
Quatre techniques en une seule requête : une CTE qui agrège les commandes par client, deux JOIN pour la construire, une fonction de fenêtrage pour attribuer le classement et LIMIT pour renvoyer le podium. Pas de nouvelle leçon : combinez simplement ce que vous avez appris du module 1 au module 8.
Trouvez les 3 clients qui ont dépensé le plus d'argent en tout. Utilisez une CTE pour calculer la dépense totale par client (somme de quantity * unit_price sur tous les order_items), puis attribuez à chacun un rang avec RANK() OVER (ORDER BY ... DESC) et renvoyez first_name, last_name, total et rank, classés du plus élevé au plus bas. Limitez à 3 lignes.
Dans la CTE : JOIN orders o sur o.customer_id = c.id, JOIN order_items oi sur oi.order_id = o.id, somme quantity * unit_price. Dans la requête externe : RANK() OVER (ORDER BY total DESC) et LIMIT 3.
Solution disponible après 3 tentatives
Une page contenant toute la syntaxe essentielle de SQL, prête à être gardée sous la main pendant que vous écrivez vos requêtes.
Le meilleur moyen de consolider est la pratique libre. Ouvrez le Playground, chargez l'un des jeux de données et essayez de répondre aux questions qui vous viennent à l'esprit : qui gagne plus que la moyenne mondiale ?, combien d'employés par ville ?, quels projets ont au moins deux personnes affectées ? Rien de tel pour transformer la théorie en réflexe.