プライマリ・コンテンツに移動
Oracle® Big Data Discovery Cloud Service EQLリファレンス

E65371-04
目次へ
目次
索引へ移動
索引

前
次
機械翻訳について

IN

IN式は、メンバーシップ・テストを実行します。

IN式では、対象のセットを特定し、そのセット以下の属性を持つレコードにフィルタ処理するユースケースに対処します。 これらは、HAVINGおよびPAGEの式と組み合せて使用できます。

INの式はサポートされており、ターゲット文は名前付きの状態を参照しています。このルールは、ターゲット状態の主キーと照合される大カッコ内に1つの式のみ存在する必要があります。 フィルタ処理されていない状態のレコード・セットに対して式が評価されることはありません。

IN構文

ターゲットが文である構文は、次のとおりです:
[expr1, expr2, …] IN StatementName
ターゲットが状態である構文は次のとおりです:
[expr] IN StatementName

この状態構文の理由は、フィルタされるコレクションなどの状態には常に1つのキー属性があるため、IN式には、それらを参照する1つの式が大カッコ内に含まれている必要があることです。

セットは、INの式でサポートされていることに注意してください。 名前付き文のグループ・キーの1つがセットの場合、大カッコ内の対応する式は、同じ型のセットである必要があります。

INの例

次の例は、顧客が購入する価値が最も高い製品はどれですか。やあなたが最も高額な部品分類を購入したサプライヤに対する合計支出はいくらですか。という質問への回答に役立ちます。
DEFINE HighValueCust AS SELECT
  SUM(SalesAmount) AS Value
FROM SaleState
GROUP BY CustId
HAVING Value>10000 ;

RETURN Top_HVC_Products AS SELECT
  COUNT(1) AS NumSales
FROM SaleState
WHERE [CustId] IN HighValueCust
GROUP BY ProductName
ORDER BY NumSales DESC
PAGE(0,10)