Prédicat SOME ANY ALL

Navigation:  Les modules métier > Les règles de production > les requêtes SQL > Prédicats >

Prédicat SOME ANY ALL

Previous pageReturn to chapter overviewNext page

Compare une valeur de colonne à une valeur de colonne dans plusieurs lignes dans une sous-requête.

 

référence_de_colonne prédicat_de_comparaison SOME | ANY | ALL (sous-requête)

 

Description

 

Utilisez les prédicats de comparaison quantifiée SOME, ANY et ALL pour filtrer une table en comparant une valeur de colonne à plusieurs valeurs de comparaison. Les prédicats de comparaison quantifiée sont utilisés avec des prédicats de comparaison pour comparer une valeur de colonne à plusieurs valeurs dans une colonne de sous-requête.

 

Le prédicat ANY évalue TRUE lorsque le prédicat de comparaison associé évalue à TRUE n'importe quelle valeur d'une sous-requête. Le prédicat SOME opère fonctionnellement de manière identique au prédicat ANY. Par exemple, au moyen de l'instruction ci-dessous, pour qu'une ligne soit extraite de la table HOLDINGS, il suffit que la valeur dans la colonne PRIX_ACH soit supérieure à une des valeurs renvoyées dans la colonne PRIX de la sous-requête.

 

SELECT *

 

FROM "holdings.dbf" H

WHERE (H."prix_ach" > ANY

 (SELECT O."prix"

 

 

 

Le prédicat ALL évalue TRUE lorsque le prédicat de comparaison associé évalue à TRUE toutes les valeurs d'une sous-requête. Par exemple, au moyen de l'instruction ci-dessous, pour qu'une ligne soit extraite de la table HOLDINGS, il faut que la valeur dans la colonne PRIX_ACH soit supérieure à toutes les valeurs renvoyées dans la colonne PRIX de la sous-requête.

 

SELECT *

 

FROM "holdings.dbf" H

WHERE (H."prix_ach" > ALL

 (SELECT O."prix"

 

 FROM "ancien_ventes.dbf"))

 

Remarque :        La sous-requête qui fournit les valeurs de comparaison pour les prédicats de comparaison quantifiée peut extraire plusieurs lignes, mais ne peut avoir qu'une seule colonne.