Leçon 4 / 9 — Chapitre 4: CTE et opérateurs ensemblistes
EXCEPT : la différence entre deux requêtes
EXCEPT combine deux requêtes SELECT en gardant les lignes de la première qui n'apparaissent pas dans la seconde — une différence ensembliste. Certains moteurs (Oracle, notamment) utilisent le mot-clé MINUS pour la même opération.
SELECT nom FROM produits WHERE categorie = 'hygiene'
EXCEPT
SELECT nom FROM produits WHERE prix >= 500;
La première requête renvoie Savon et Dentifrice. La seconde renvoie Cahier, Jus et Dentifrice. EXCEPT garde les lignes de la première qui ne sont pas dans la seconde : Dentifrice est retiré (il apparaît dans les deux), il ne reste que Savon — 1 ligne.
L'ordre des deux requêtes compte, contrairement à UNION et INTERSECT : EXCEPT n'est pas symétrique. Inverser les deux requêtes de cet exemple donnerait un résultat différent (les produits chers hors hygiène, donc Cahier et Jus).
À retenir :
requete1 EXCEPT requete2;garde les lignes de la première requête absentes de la seconde.MINUSest le nom utilisé par certains moteurs (Oracle) pour la même opération qu'EXCEPT.- Contrairement à UNION et INTERSECT, l'ordre des deux requêtes change le résultat d'EXCEPT.
À vous de jouer : inversez l'ordre des deux requêtes de cet exemple (categorie hygiene en second) et déterminez le nouveau 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