Leçon 7 / 9 — Chapitre 3: Sous-requêtes
ANY, ALL, SOME : comparer à un ensemble
ANY compare une valeur à un ensemble de valeurs renvoyé par une sous-requête, et renvoie vrai si la comparaison réussit avec au moins une d'entre elles. SOME est un synonyme strict d'ANY — les deux mots sont interchangeables.
SELECT nom FROM produits
WHERE prix > ANY (SELECT prix FROM produits WHERE categorie = 'hygiene');
Les prix de la catégorie hygiène sont 300 (Savon) et 500 (Dentifrice). > ANY (300, 500) revient à « supérieur à au moins l'un des deux », donc en pratique supérieur au plus petit (300). Résultat : Cahier (500), Jus (600), Biscuits (400) et Dentifrice (500 > 300) — 4 lignes.
ALL est plus strict : il exige que la comparaison réussisse avec toutes les valeurs de l'ensemble.
SELECT nom FROM produits
WHERE prix > ALL (SELECT prix FROM produits WHERE categorie = 'hygiene');
> ALL (300, 500) revient à « supérieur aux deux à la fois », donc supérieur au plus grand (500). Seul Jus (600) qualifie — 1 ligne.
À retenir :
> ANY (ensemble)équivaut à « supérieur à au moins une valeur » — en pratique, supérieur au minimum de l'ensemble.> ALL (ensemble)équivaut à « supérieur à toutes les valeurs » — en pratique, supérieur au maximum de l'ensemble.SOMEest un synonyme exact d'ANY: les deux mots-clés se comportent de façon identique.
À vous de jouer : réécrivez prix > ANY (...) en une comparaison équivalente avec MIN(), et prix > ALL (...) avec MAX().
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