PaliSkill
SQL Intermédiaire

Leçon 8 / 8 — Chapitre 10: Mise en pratique : restaurant

Cas pratique de synthèse : rapport hebdomadaire

Ce dernier cas pratique du module reprend la CTE de chiffre d'affaires, en y ajoutant un filtre — la synthèse de tout ce chapitre, et un dernier rappel du module entier.

WITH ventes_semaine AS (
  SELECT t.plat_id, SUM(t.quantite) AS quantite_totale
  FROM tickets t
  WHERE t.semaine = 'cette_semaine'
  GROUP BY t.plat_id
)
SELECT p.nom, v.quantite_totale, p.prix * v.quantite_totale AS chiffre_affaires
FROM ventes_semaine v
JOIN plats p ON p.id = v.plat_id
WHERE v.quantite_totale >= 2
ORDER BY chiffre_affaires DESC;

Étape par étape :

  1. La CTE ventes_semaine calcule les quantités par plat cette semaine (Salade Cesar 2, Pizza 3, Burger 1, Tarte Tatin 2), exactement comme en début de chapitre.
  2. WHERE v.quantite_totale >= 2 exclut le Burger Maison (quantité 1) après la jointure avec plats.
  3. ORDER BY chiffre_affaires DESC classe les 3 plats restants : Pizza (45 $), Salade Cesar (24 $), Tarte Tatin (18 $).

Résultat final : 3 lignes, dans cet ordre.

À retenir :

  • Une CTE définie une fois peut être filtrée différemment selon le besoin (ici, un seuil minimal de quantité), sans jamais changer son propre calcul interne.
  • Ce rapport combine, comme les cas pratiques de chaque chapitre technique, plusieurs notions du module en une seule requête lisible : CTE, jointure, filtrage et tri.

À vous de jouer : le Burger Maison apparaît-il dans ce résultat final ? Justifiez à partir de sa quantite_totale.

🔒

Continuez ce module

Débloquez les leçons restantes ainsi que la certification finale.

2 500 XOF / 3,81 € / 4,15 $

Débloquez les 80 leçons restantes de ce module

Votre paiement est vérifié avant l'activation de l'accès