Opérateur ALL
la commande ALL permet de comparer une valeur avec le résultat d’une sous-requête. Il est ainsi possible de vérifier si une valeur est égale , différente , supérieur , supérieur ou égale, inférieur , nférieur ou égale pour tous les éléments de la sous requête.Cette commande s’utilise dans une clause conditionnelle entre l’opérateur de condition (=, <, >, <>, !=, <=, >=) et la sous-requête.
Opérateur SOME (ou ANY)
la commande ANY (ou SOME) permet de comparer une valeur avec le résultat d’une sous-requête. Il est ainsi possible de vérifier si une valeur est égale , différente , supérieur , supérieur ou égale, inférieur , nférieur ou égale pour un des éléments de la sous reqûte.Remarque : le clause SOME est un alias de ANY, l’un et l’autre des termes peut être utilisé
Remarque : La commande IN est équivalent à l’opérateur = suivi de ANY.
Syntaxe:SELECT * FROM table1Cette commande s’utilise dans une clause conditionnelle entre l’opérateur de condition (=, <, >, <>, !=, <=, >=) et la sous-requête.
WHERE condition > ALL (
SELECT * FROM table2
WHERE condition2
)
Exemple1 : Liste des pilotes habitant une ville de laquelle ne part aucun vol.
SELECT * FROM PiloteExemple2 : Liste d’avions dont la capacité n’est pas la capacité maximale.
WHERE Ville <> ALL (
SELECT villedepart FROM VOL
)
SELECT * FROM avionExemple3 : Liste de pilotes habitant la même ville qu’un passager.
WHERE Capacite < SOME ( SELECT Capacite FROM avion )
SELECT * FROM piloteExemple4 : Liste des avions ayant la capacité minimale.
WHERE Ville = SOME ( SELECT Ville FROM Passager)
SELECT * FROM avionExemple5 : Liste d'avions dont la capacité n'est ni maximale ni minimale
WHERE Capacite <= ALL ( SELECT Capacite FROM avion)
SELECT * FROM avion
WHERE Capacite < SOME (SELECT Capacite FROM avion)
AND Capacite > SOME (SELECT Capacite FROM avion)