ヘッダーをスキップ
Oracle TimesTen In-Memory Database SQLリファレンス・ガイド
リリース11.2.1
B56051-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

ANY/ IN条件(値リスト)

ANYまたはIN限定条件は、指定された値のリストと式(または式のリスト)を比較します。 ANY条件は、ValueListの1つ以上の値が、式(または式のリスト)と比較演算子に指定した関係にある場合にTRUEと評価されます。同様に、IN条件は、式(または式のリスト)が、指定されたリスト内の値のいずれかと一致する場合にTRUEと評価されます。

SQL構文

RowValueConstructor {CompOp {ANY| SOME} | 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の値は、式と互換性がある必要があります。式の構文については、「式の指定」を参照してください。
=
等しい
<> 異なる
> 大きい
>= 以上
<
小さい
<=
以下
{ANY|

SOME}

ValueListの1つ以上の値が、式(または式のリスト)と比較演算子に指定した関係にある場合にTRUEとなります。SOMEはANYのシノニムです。
ValueList 式(または式のリスト)の値と比較する値のリストです。ValueListには、列参照または副問合せを含めることはできません。ValueListは、左側のオペランドがリストの場合にネストできます。

ValueListの要素は次のとおりです。

  • Constant: 特定の値を指定します。「定数」を参照してください。

  • ?,:DynamicParameter: 準備されたSQL文の動的パラメータのプレースホルダ。動的パラメータの値は、文の実行時に設定されます。

  • 空のリスト: SQL生成ツールによって生成される場合があります。


説明

項目100、200または300の発注が含まれている項目番号をすべて選択します。

SELECT DISTINCT OrderItems.ItemNumber
FROM OrderItems
WHERE OrderItems.Quantity = ANY (100, 200, 300)

重量が12、16、17の部品の番号を検索します。

SELECT Parts.PartNumber FROM Parts
WHERE Parts.Weight IN (12, 16, 17);

シリアル番号が'1123-P-01''1733-AD-01':SerialNumberまたは:SerialIndである部品の部品番号を検索します。:SerialNumber:SerialIndは動的パラメータで、その値は実行時に指定されます。

SELECT PartNumber FROM Purchasing.Parts
WHERE SerialNumber
IN ('1123-P-01', '1733-AD-01',:SerialNumber, :SerialInd);

IN条件で空の選択リストを問い合せる例を示します。

SELECT * FROM t1 WHERE x1 IN ();

IN条件に式のリストを使用した例を示します。

SELECT * FROM t1 WHERE (x1,y1) IN ((1,2), (3,4));

次に、IN条件に式のリストを使用した例を示します。 この問合せは、department_id = 240およびlocation_id = 1700である部門のdepartment_nameを返します。


注意:

IN条件の右側の式は、二重カッコ(( ))で囲む必要があります。

Command> select department_name from departments where (department_id, location_id) in ((240,1700));
< Government Sales >
1 row found.