PaliSkill
SQL Intermédiaire

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.
  • SOME est 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