ALL (Transact-SQL)ALL (Transact-SQL)

S’APPLIQUE À : OuiSQL Server OuiAzure SQL Database NonAzure Synapse Analytics (SQL DW) NonParallel Data Warehouse APPLIES TO: YesSQL Server YesAzure SQL Database NoAzure Synapse Analytics (SQL DW) NoParallel Data Warehouse

Compare une valeur scalaire avec un ensemble de valeurs appartenant à une seule colonne.Compares a scalar value with a single-column set of values.

Icône Lien d’article Conventions de la syntaxe Transact-SQLArticle link icon Transact-SQL Syntax Conventions

SyntaxeSyntax

  
scalar_expression { = | <> | != | > | >= | !> | < | <= | !< } ALL ( subquery )  

ArgumentsArguments

scalar_expressionscalar_expression
Toute expression valide.Is any valid expression.

{ = | <> | != | > | >= | !> | < | <= | !< }{ = | <> | != | > | >= | !> | < | <= | !< }
Opérateur de comparaison.Is a comparison operator.

subquerysubquery
Sous-requête dont le jeu de résultats est une colonne.Is a subquery that returns a result set of one column. Le type de données de la colonne retournée doit être le même que celui de scalar_expression.The data type of the returned column must be the same data type as the data type of scalar_expression.

Instruction SELECT limitée, dans laquelle la clause ORDER BY et le mot clé INTO ne sont pas autorisés.Is a restricted SELECT statement, in which the ORDER BY clause and the INTO keyword aren't allowed.

Types des résultatsResult Types

BooléenBoolean

Valeur des résultatsResult Value

Retourne la valeur TRUE quand la comparaison spécifiée a la valeur TRUE pour toutes les paires (scalar_expression , x) , quand x est une valeur du jeu de la colonne.Returns TRUE when the comparison specified is TRUE for all pairs (scalar_expression,x), when x is a value in the single-column set. Sinon, retourne la valeur FALSE.Otherwise returns FALSE.

NotesRemarks

ALL requiert que l’argument scalar_expression corresponde à toutes les valeurs retournées par la sous-requête.ALL requires the scalar_expression to compare positively to every value that is returned by the subquery. Par exemple, si la sous-requête retourne les valeurs 2 et 3, scalar_expression < = ALL (sous-requête) a la valeur TRUE pour une scalar_expression égale à 2.For instance, if the subquery returns values of 2 and 3, scalar_expression <= ALL (subquery) would evaluate as TRUE for a scalar_expression of 2. Si la sous-requête retourne les valeurs 2 et 3, l’instruction scalar_expression = ALL (sous-requête) donne FALSE, étant donné que certaines des valeurs de la sous-requête (à savoir 3) ne répondent pas aux critères de l’expression.If the subquery returns values of 2 and 3, scalar_expression = ALL (subquery) would evaluate as FALSE, because some of the values of the subquery (the value of 3) wouldn't meet the criteria of the expression.

Pour les instructions qui demandent que l’argument scalar_expression corresponde à seulement une des valeurs retournées par la sous-requête, consultez SOME | ANY (Transact-SQL).For statements that require the scalar_expression to compare positively to only one value that is returned by the subquery, see SOME | ANY (Transact-SQL).

Cet article fait référence à l’instruction ALL lorsqu’elle est utilisée avec une sous-requête.This article refers to ALL when it is used with a subquery. ALL peut aussi être utilisé avec UNION et SELECT.ALL can also be used with UNION and SELECT.

ExemplesExamples

L’exemple suivant crée une procédure stockée qui détermine si tous les composants d’un SalesOrderID spécifié dans la base de données AdventureWorks2012AdventureWorks2012 peuvent être fabriqués dans le délai du nombre de jours spécifié.The following example creates a stored procedure that determines whether all the components of a specified SalesOrderID in the AdventureWorks2012AdventureWorks2012 database can be manufactured in the specified number of days. L’exemple utilise une sous-requête pour créer une liste du nombre de valeurs DaysToManufacture pour tous les composants du SalesOrderID spécifié, puis vérifie que toutes les valeurs DaysToManufacture sont inférieures ou égales au nombre de jours spécifié.The example uses a subquery to create a list of the number of DaysToManufacture values for all of the components of the specific SalesOrderID, and then confirms that all the DaysToManufacture are within the number of days specified.

-- Uses AdventureWorks  
  
CREATE PROCEDURE DaysToBuild @OrderID int, @NumberOfDays int  
AS  
IF   
@NumberOfDays >= ALL  
   (  
    SELECT DaysToManufacture  
    FROM Sales.SalesOrderDetail  
    JOIN Production.Product   
    ON Sales.SalesOrderDetail.ProductID = Production.Product.ProductID   
    WHERE SalesOrderID = @OrderID  
   )  
PRINT 'All items for this order can be manufactured in specified number of days or less.'  
ELSE   
PRINT 'Some items for this order can''t be manufactured in specified number of days or less.' ;  
  

Pour tester la procédure, exécutez-la en utilisant le SalesOrderID 49080 dont l'un des composants demande 2 jours de fabrication, tandis que les 2 autres en demandent 0.To test the procedure, execute the procedure by using the SalesOrderID 49080, which has one component requiring 2 days and two components that require 0 days. La première instruction ci-dessous remplit les critères,The first statement below meets the criteria. Ce n’est pas le cas de la deuxième requête.The second query doesn't.

EXECUTE DaysToBuild 49080, 2 ;  

Voici le jeu de résultats obtenu.Here is the result set.

All items for this order can be manufactured in specified number of days or less.

EXECUTE DaysToBuild 49080, 1 ;  

Voici le jeu de résultats obtenu.Here is the result set.

Some items for this order can't be manufactured in specified number of days or less.

Voir aussiSee Also

CASE (Transact-SQL) CASE (Transact-SQL)
Expressions (Transact-SQL) Expressions (Transact-SQL)
Fonctions intégrées (Transact-SQL) Built-in Functions (Transact-SQL)
LIKE (Transact-SQL) LIKE (Transact-SQL)
Opérateurs (Transact-SQL) Operators (Transact-SQL)
SELECT (Transact-SQL) SELECT (Transact-SQL)
WHERE (Transact-SQL) WHERE (Transact-SQL)
IN (Transact-SQL)IN (Transact-SQL)