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

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

前
次
機械翻訳について

EQLとSQL: 比較

EQLはSQLと同様に多くの方法で使用されますが、マークされた相違もあります。

このトピックでは、SQLについて使い慣れている可能性があるEQLの概念と、EQLの一意の機能を識別します:
  • 「1つのスキーマを持つ表と、複数のスキーマを持つレコードのコレクション」 SQLはレコードの表の周囲に設計されています - 表内のすべてのレコードは同じスキーマを持ちます。 EQLは、異種スキーマを使用した1つ以上のレコードのコレクションの周囲に設計されています。
  • 「EQL問合せvs SQL問合せ」 EQL文にはDEFINEまたはRETURN句が必要です。これは、SQL共通の表式(またはCTE)と同様に、一時結果セットを定義します。 ただし、次の相違点が適用されます:
    • EQLではスキーマ宣言はサポートされません。
    • EQLでは、CTEの有効範囲は問合せ全体であり、次の文のみではありません。
    • EQLでは、RETURNはCTEと通常の文の両方です(結果を生成する文)。
    • EQLでは再帰はサポートされません。 つまり、文が直接的または間接的にFROM句を使用して文自体を参照することはできません。
    • EQLに更新操作が含まれていません。
  • 「条項」 EQLでは、SELECTFROMWHEREHAVINGGROUP BYおよびORDER BYは、次の注意事項を持つすべてSQLのようになります:
    • SELECT文では、属性をそのまま選択する際にASのエイリアシングはオプションです。式を使用する文では、AS別名が必要です。 別名化はSQLではオプションです。
    • EQLでは、GROUP BYSELECTを意味します。 つまり、グループ化属性は、明示的に選択されているかどうかに関係なく、常に文書結果に含まれます。
    • 複数割当属性によるグループ化によって、単一のレコードが複数のグループに参加する場合があります。 GROUP BY句でMEMBERS拡張機能を使用すると、1つのレコードが複数のグループに参加できます。
    • WHEREは集計式に適用できます。
    • SQLでは、集約を使用することは、グループ化を意味します。 EQLでは、グループ化は常に明示的です。
  • その他の言語比較:
    • PAGEは、SQLの共通ベンダー拡張機能と同様に機能します。
    • EQLでは、JOIN式のブール結合条件がカッコに含まれている必要があります。 これは、SQLでは不要です。
    • EQLでは、SELECT文のみがサポートされます。 INSERTDELETEなどの他のDML文や、DDL、DCLまたはTCL文はサポートしていません。
    • EQLでは、SQL標準で記述されているものとは異なるデータ型、式および関数のセットがサポートされます。