Passer au contenu principal
eLearner.app

Fin du cours SQL

Résumé et défi final

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.

01 · SELECT de base

  • SELECT … FROM
  • WHERE
  • ORDER BY (ASC/DESC)

02 · SELECT plus puissant

  • LIMIT
  • DISTINCT
  • alias avec AS
  • COUNT, AVG, SUM, MAX, MIN

03 · JOIN et GROUP BY

  • INNER JOIN
  • LEFT JOIN
  • GROUP BY
  • HAVING

04 · SQL pratique

  • IN / BETWEEN
  • IS NULL / COALESCE
  • CASE WHEN
  • sous-requêtes

05 · JOIN avancés

  • multi-JOIN
  • RIGHT/FULL OUTER
  • self-join
  • UNION / INTERSECT / EXCEPT

06 · Fonctions

  • chaînes
  • numériques
  • date/heure
  • CAST et conversions

07 · Analyse

  • fonctions de fenêtrage
  • LAG / LEAD
  • CTE (WITH)
  • WITH RECURSIVE

08 · Écriture de données

  • INSERT
  • UPDATE / DELETE
  • CREATE / ALTER
  • BEGIN / COMMIT / ROLLBACK

Le défi final

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.

Exercice#sql.boss.e1
Tentatives : 0Chargement…

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.

Chargement de l'éditeur…
Afficher l'indice

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

Aide-mémoire imprimable

Une page contenant toute la syntaxe essentielle de SQL, prête à être gardée sous la main pendant que vous écrivez vos requêtes.

Ouvrir l'aide-mémoire

Et maintenant ?

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.