PaliSkill
SQL Intermédiaire

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