ALL/ NOT IN限定条件は、指定された値のリストと式(または式のリスト)を比較します。ALL条件は、ValueList
のすべての値が、式(または式のリスト)と比較演算子に指定した関係にある場合にTRUEと評価されます。同様に、NOT IN条件は、式(または式のリスト)が、指定されたリスト内の値のいずれとも一致しない場合にTRUEと評価されます。
RowValueConstructor
{CompOp
ALL | 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 ();