Leçon 2 / 8 — Chapitre 10: Mise en pratique : restaurant
CTE : le chiffre d'affaires par plat cette semaine
Comme au chapitre 4, une CTE isole d'abord un calcul intermédiaire (les quantités vendues cette semaine), avant de le combiner à plats pour calculer un chiffre d'affaires.
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
ORDER BY chiffre_affaires DESC;
ventes_semaine calcule, pour chaque plat vendu cette semaine, la quantité totale : Salade Cesar (ticket 1) = 2, Pizza (ticket 2) = 3, Burger (ticket 3) = 1, Tarte Tatin (ticket 7) = 2. La requête principale multiplie chaque quantité par le prix du plat : Pizza (15 $ × 3 = 45 $), Salade Cesar (12 $ × 2 = 24 $), Tarte Tatin (9 $ × 2 = 18 $), Burger (14 $ × 1 = 14 $). Triés par chiffre d'affaires décroissant, la Pizza arrive en tête.
À retenir :
- Une CTE peut alimenter un calcul dérivé (ici, un chiffre d'affaires) dans la requête principale, sans jamais être réécrite.
WHERE t.semaine = 'cette_semaine'filtre dès la CTE, avant même leJOINavecplats: seuls les plats vendus cette semaine apparaissent, les autres n'existent simplement pas dansventes_semaine.
À vous de jouer : quel est le chiffre d'affaires du Burger Maison dans ce résultat ?
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