Dans le langage SQL, la commande ALL permet de comparer une valeur dans l’ensemble de valeurs d’une sous-requête. En d’autres mots, cette commande permet de s’assurer qu’une condition est “égale”, “différente”, “supérieure”, “inférieure”, “supérieure ou égale” ou “inférieure ou égale” pour tous les résultats retourné par une sous-requête.
Syntaxe
Cette commande s’utilise dans une clause conditionnelle entre l’opérateur de condition et la sous-requête. L’exemple ci-dessous montre un exemple basique :
SELECT * FROM table1 WHERE condition > ALL ( SELECT * FROM table2 WHERE condition2 )
A savoir : les opérateur conditionnels peuvent être les suivants : =, <, >, <>, !=, <=, >=, !> ou !<.
Exemple
Imaginons une requête similaire à la syntaxe de base présentée précédemment :
SELECT colonne1 FROM table1 WHERE colonne1 > ALL ( SELECT colonne1 FROM table2 )
Avec cette requête, si nous supposons que dans table1 il y a un résultat avec la valeur 10, voici les différents résultats de la conditions selon le contenu de table2 :
- La condition est vrai (cf. TRUE) si table2 contient {-5,0,+5} car toutes les valeurs sont inférieure à 10
- La condition est fausse (cf. FALSE) si table2 contient {12,6,NULL,-100} car au moins une valeur est inférieure à 10
- La condition est non connue (cf. UNKNOW) si table2 est vide