Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

ALL

値をサブクエリで取得された対応するすべての値と照合します。

Synopsis

scalar-expression comparison-operator ALL (subquery)

引数

scalar-expression その値を subquery で生成された結果セットと比較するスカラ式 (通常はデータ列)。
comparison-operator 次の比較演算子のいずれか : = (等しい)、<> または != (等しくない)、< (より小さい)、<= (以下)、> (より大きい)、>= (以上)、[ (包含)、または ] (後続)。
subquery 括弧で囲まれたサブクエリで、これによって 1 つの列から返される結果セットが scalar-expression との比較に使用されます。

概要

ALL キーワードは、比較演算子と併用し、スカラ式の値がサブクエリで取得した対応する値のすべてと一致した場合に True となる述語 (限定比較条件) を作成します。ALL 述語は、1 つの scalar-expression 項目とサブクエリの 1 つの SELECT 項目を比較します。SELECT 項目が複数あるサブクエリを実行すると、SQLCODE -10 エラーが生成されます。

述語条件を指定できる場所であればどこでも、ALL を使用できます。詳細は、このドキュメントの "述語の概要" ページを参照してください。

該当する場合、システムは、ALL サブクエリに集合値サブクエリの最適化 (SVSO) を自動的に適用します。この最適化の詳細、および %NOSVSO キーワードを使用したこの最適化のオーバーライドの詳細は、"FROM 節" のリファレンス・ページで “クエリ最適化オプション” を参照してください。

以下の例では、Person データベースの年齢で、Employee データベースのすべての年齢よりも少ないものを選択します。

SELECT DISTINCT Age FROM Sample.Person
WHERE Age < ALL
   (SELECT Age FROM Sample.Employee)
ORDER BY Age

以下の例では、Person データベースの名前で、Employee データベースのすべての名前よりも短いものを選択します。

SELECT $LENGTH(Name) AS NameLength,Name FROM Sample.Person
WHERE $LENGTH(Name) > ALL
     (SELECT $LENGTH(Name) FROM Sample.Employee)
OR $LENGTH(Name) < ALL
     (SELECT $LENGTH(Name) FROM Sample.Employee)

以下の例は、ミシシッピ川の西にあり、Manager と Director の役職を持つ従業員を含まない州のリストを返します。

SELECT DISTINCT State
FROM Sample.USZipCode
WHERE Longitude < -93
  AND State != ALL
   (SELECT Home_State FROM Sample.Employee
    WHERE Title [ 'Manager' OR Title [ 'Director')
ORDER BY State

関連項目

FeedbackOpens in a new tab