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

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

前
次
機械翻訳について

DIFFERENCE関数

DIFFERENCE行関数は、同じデータ型の2つのセットを取り、1つ目のセットの要素のうち2つ目のセットには表示されないすべての要素を含むセットを返します。

DIFFERENCE関数の構文は、次のとおりです:
DIFFERENCE(<set1>, <set2>)
説明:
  • set1は、任意のセット・データ型(mdex:string-setなど)です。 たとえば、set1は複数割当文字列属性にすることができます。
  • set2は、set1と同じセット・データ型のセットです。 たとえば、set1が複数割当文字列属性の場合、set2も一連の文字列である必要があります(他の複数割当文字列属性など)。
結果の例は次のとおりです({ }は空のセットを示します):
DIFFERENCE({ 1, 2, 3, 4, 5 }, { 1, 3, 5 }) = { 2, 4 }
DIFFERENCE({ }, { 1, 3, 5 }) = { }
DIFFERENCE({ 1, 2, 3 }, { }) = { 1, 2, 3 }
DIFFERENCE({ 1, 2 }, { 'a', 'b' }) yields a checking error because the two sets are not of the same data type

DIFFERENCEの例

次の例では、BodyとFlavorsの両方が複数割当文字列属性です。 この5つのレコードの値は次のとおりです:
Record 5: Body=Earthy, Silky, Tannins
          Flavors=Blackberry, Earthy, Toast
Record 6: Body=Robust
          Flavors=Berry, Plum, Zesty
Record 7: Body=Silky, Tannins
          Flavors=Cherry, Pepper, Prune
Record 8: Body=Oak, Robust
          Flavors=Cherry, Oak, Raspberry
Record 9: Body=Fruit, Strawberry, Silky, Tannins
          Flavors=Fruit, Earthy, Strawberry
まず、次に示すように、Flavorsセットに表示されない本文セットのすべての要素を使用します:
RETURN results AS
SELECT 
   WineID AS idRec,
   DIFFERENCE(Body, Flavors) AS diffAttrs
FROM WineState
WHERE WineID BETWEEN 5 AND 9
ORDER BY idRec
この文の結果は次のようになります:
diffAttrs              idRec
----------------------------
| { Silky, Tannins }   | 5 |
| { Robust }           | 6 |
| { Silky, Tannins }   | 7 |
| { Robust }           | 8 |
| { Silky, Tannins }   | 9 |
----------------------------

レコード5、7および9の本文セットにはシルおよびタンスがありますが、これらの値はフラット・セットには表示されません。 同様に、レコード6および8の本文はRobustに設定されていますが、その値はFlavorsセットには表示されません。

次に、2つのセットの差異の比較を逆にします。 次の文は、最初の例と同じです。ただし、FlavorsがBodyではなく最初の引数です:
RETURN results AS
SELECT 
   WineID AS idRec,
   DIFFERENCE(Flavors, Body) AS diffAttrs
FROM WineState
WHERE WineID BETWEEN 5 AND 9
ORDER BY idRec
今回は、この文の結果が異なるものとして見えます:
diffAttrs                     idRec
-----------------------------------
| { Blackberry, Toast }       | 5 |
| { Berry, Plum, Zesty }      | 6 |
| { Cherry, Pepper, Prune }   | 7 |
| { Cherry, Raspberry }       | 8 |
| { Earthy }                  | 9 |
-----------------------------------

出力例としてレコード9を取得するために、Earthyは、2番目のセット(Bodyセット)には表示されない最初のセット(Flavorsセット)の要素のみです。