ALL (Transact-SQL)
更新 : 2006 年 7 月 17 日
スカラ値を単一列で構成される値のセットと比較します。
構文
scalar_expression { = | <> | != | > | >= | !> | < | <= | !< } ALL ( subquery )
引数
- scalar_expression
任意の有効な式です。
- { = | <> | != | > | >= | !> | < | <= | !< }
比較演算子です。
subquery
1 列の結果セットを返すサブクエリです。返される列のデータ型は、scalar_expression のデータ型と同じである必要があります。制限された SELECT ステートメントです。ORDER BY 句、COMPUTE 句、および INTO キーワードは使用できません。
戻り値の型
Boolean
解説
ALL の場合、scalar_expression ではサブクエリによって返されるすべての値に対し肯定的な比較を行う必要があります。たとえば、scalar_expression を 2 とすると、サブクエリによって値 2 と 3 が返される場合、scalar_expression <= ALL (subquery) は TRUE と評価されます。一方、同じ条件で scalar_expression = ALL (subquery) は FALSE と評価されます。これは、サブクエリによって返される値の一部 (値 3) が式の評価基準に合わないためです。
scalar_expression でサブクエリによって返される 1 つだけの値に対し肯定的な比較を行う必要があるステートメントについては、「SOME | ANY (Transact-SQL)」を参照してください。
このトピックでは、ALL をサブクエリと共に使用する場合を想定しています。ALL は UNION および SELECT と共に使用することもできます。
戻り値
指定された比較が (scalar_expression**,**x) のすべての組で TRUE の場合で、x が単一列セットの中の値の場合、TRUE を返します。それ以外の場合は FALSE を返します。
例
次の例では、ストアド プロシージャを作成し、AdventureWorks
データベース内にある指定した SalesOrderID
のすべての部品が、指定した日数で製造できるかどうかを判定します。この例では、サブクエリを使用して、特定の SalesOrderID
のすべての部品に対する DaysToManufacture
の値一覧を作成し、その中のすべての DaysToManufacture
が指定した日数以内であることを確認します。
USE AdventureWorks ;
GO
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 cannot be manufactured in specified number of days or less.' ;
このプロシージャをテストするには、SalesOrderID 49080
を使用してプロシージャを実行します。この注文内容には、必要な日数が 2
日の部品が 1 つと 0 日の部品が 2 つが含まれています。次に示す最初のステートメントは条件を満たしますが、2 番目のクエリは条件を満たしません。
EXECUTE DaysToBuild 49080, 2 ;
以下に結果セットを示します。
All items for this order can be manufactured in specified number of days or less.
EXECUTE DaysToBuild 49080, 1 ;
以下に結果セットを示します。
Some items for this order cannot be manufactured in specified number of days or less.
参照
関連項目
CASE (Transact-SQL)
式 (Transact-SQL)
関数 (Transact-SQL)
LIKE (Transact-SQL)
演算子 (Transact-SQL)
SELECT (Transact-SQL)
WHERE (Transact-SQL)
IN (Transact-SQL)
その他の技術情報
ANY、SOME、または ALL で修飾された比較演算子
論理演算子
サブクエリの基礎
サブクエリの基礎
ヘルプおよび情報
変更履歴
リリース | 履歴 |
---|---|
2006 年 7 月 17 日 |
|