← SQL Intermédiaire
Leçon 3 / 8 — Chapitre 10: Mise en pratique : restaurant
EXISTS : tickets sans livraison associée
Comme aux chapitres 3, 8 et 9, NOT EXISTS isole les tickets sans aucune correspondance dans expeditions — ici, les commandes servies sur place.
SELECT t.id
FROM tickets t
WHERE NOT EXISTS (
SELECT 1 FROM expeditions l WHERE l.id = t.id
);
Sur les 7 tickets, seuls 1, 2 et 7 ont une ligne dans expeditions. Les tickets 3, 4, 5 et 6 n'en ont aucune : NOT EXISTS les isole, soit 4 lignes.
À retenir :
- La même technique (
NOT EXISTS, ou son équivalentLEFT JOIN+IS NULL) s'applique à n'importe quel scénario où une relation 1-1 ou 1-plusieurs peut être absente. - Ici, l'absence de correspondance n'est pas une erreur de données : elle porte une signification métier précise (pas de livraison pour ce ticket).
À vous de jouer : le ticket d'id 1 apparaît-il dans ce résultat ? Justifiez à partir de la table expeditions.
🔒
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