Leçon 4 / 8 — Chapitre 10: Mise en pratique : restaurant
INTERSECT / EXCEPT : plats commandés cette semaine vs la précédente
Comme au chapitre 4, INTERSECT et EXCEPT comparent deux ensembles de résultats — ici, les plats commandés selon la semaine.
SELECT plat_id FROM tickets WHERE semaine = 'cette_semaine'
INTERSECT
SELECT plat_id FROM tickets WHERE semaine = 'semaine_derniere';
Plats commandés cette semaine : {1, 2, 3, 5}. Plats commandés la semaine dernière : {1, 2, 4}. INTERSECT ne garde que ceux des deux semaines : {1, 2}, soit 2 lignes.
SELECT plat_id FROM tickets WHERE semaine = 'cette_semaine'
EXCEPT
SELECT plat_id FROM tickets WHERE semaine = 'semaine_derniere';
EXCEPT garde les plats commandés cette semaine, mais pas la semaine dernière : {1, 2, 3, 5} moins {1, 2, 4} = {3, 5}, soit 2 lignes également, mais un résultat différent.
À retenir :
- INTERSECT répond à « quels plats reviennent d'une semaine à l'autre ? », EXCEPT répond à « quels plats sont nouveaux cette semaine ? ».
- Ces deux questions, bien que portant sur les mêmes deux ensembles, produisent des réponses différentes — la nuance entre les deux opérateurs.
À vous de jouer : le plat_id 4 (Soupe du Jour) apparaît-il dans le résultat de l'EXCEPT ci-dessus ? Justifiez à partir des deux ensembles de départ.
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