ALL/ NOT IN限定条件は、指定された値のリストと式(または式のリスト)を比較します。ALL条件は、ValueListのすべての値が、式(または式のリスト)と比較演算子に指定した関係にある場合にTRUEと評価されます。同様に、NOT IN条件は、式(または式のリスト)が、指定されたリスト内の値のいずれとも一致しない場合にTRUEと評価されます。
RowValueConstructor{CompOpALL | NOT IN}ValueList
RowValueConstructorの構文は、次のとおりです。
RowValueConstructorElement| (RowValueConstuctorList) |
RowValueConstructorListの構文は、次のとおりです。
RowValueConstructorElement[{,RowValueConstructorElement} ... ]
RowValueConstructorElementの構文は、次のとおりです。
Expression | NULL
CompOpの構文は、次のとおりです。
{= | <> | > | >= | < | <= }
ValueListの要素が複数ある構文は、次のとおりです。
({Constant | ? | :DynamicParameter} [,...] )
カッコで囲まれていないValueListの要素が1つの構文は、次のとおりです。
Constant| ? | :DynamicParameter
ValueListが空の構文は、次のとおりです。
( )
ValueListが式のリストである構文は、次のとおりです。
(({Constant | ? | :DynamicParameter} [,...]))
パラメータ
| 構成要素 | 説明 |
|---|---|
Expression |
取得する値を指定します。ValueListの値は、式と互換性がある必要があります。式の構文については、「式の指定」を参照してください。 |
| = |
等しい |
| <> | 異なる |
| > | 大きい |
| >= | 以上 |
| < |
小さい |
| <= |
以下 |
| ALL | ValueListのすべての値が、式(または式のリスト)と比較演算子に指定した関係にある場合にTRUEとなります。 |
ValueList |
式(または式のリスト)の値と比較する値のリストです。ValueListには、列参照または副問合せを含めることはできません。ValueListは、左側のオペランドがリストの場合にネストできます。
|
説明
Expressionの値がXで、(a,b, ..., z)がValueListの要素、OPが比較演算子の場合は、次のような関係となります。
X OP ALL (a,b,...,z)は、X OP a AND X OP b AND...AND X OP zと同じです。
Expressionの値がXで、(a,b,..., z)がValueListの要素である場合は、次のような関係となります。
X NOT IN (a,b,...,z)は、NOT (X IN (a,b,...,z))と同じです。
文字列は、ASCIIデータのASCII照合順序に従って比較されます。
ValueListには、NULLを指定できません。
互換性のある異なるデータ型の値をTimesTenで比較する方法については、「数値データ型」を参照してください。
ALLを設定した、NOT INまたはNOT EXISTSを、OR式で指定できます。
ALLを設定した、INまたはEXISTSを、OR式で指定できます。
空のValueListを評価すると、Expression NOT INの結果はTRUEとなります。
RowValueConstructorListが指定されている場合は、演算子=および<>のみを使用できます。
例
NOT IN条件で空の選択リストを問い合せる例を示します。
SELECT * FROM t1 WHERE x1 NOT IN ();