← 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 :
- La CTE
ventes_semainecalcule les quantités par plat cette semaine (Salade Cesar 2, Pizza 3, Burger 1, Tarte Tatin 2), exactement comme en début de chapitre. WHERE v.quantite_totale >= 2exclut le Burger Maison (quantité 1) après la jointure avecplats.ORDER BY chiffre_affaires DESCclasse 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