RAQL のクエリ構文

データ ソースを選択すると、RAQL クエリを使用してデータを分析できます。RAQL は SQL をベースに、SQL では定義されていない機能拡張を追加的に備えています。以降の文書は、RAQL とその機能拡張の使用方法に焦点を当てています。SQL の詳しい説明は、標準的な SQL テキスト ブックを参照します。

RAQL は、データの読取と検証用に典型的な SQL 句を提供します。一部の SQL 句と構文は RAQL にはありません。RAQL クエリは句で構成されます:

raql クエリ構文

これらの各句の有効式の概要については、言語リファレンスを参照してください。

RAQL クエリの最も基本的な形式には、SELECT と FROM 句が含まれます。

SELECT 句は、結果を含む列を決定し、また、OVER 句または GROUP BY 句のいずれかとともに使用して分析を実行することもできます。FROM 句はクエリを実行するデータ セットを決定し、また、データのソースとして使用するサブクエリを定義できます。

Set 演算子句では、別のクエリを使用して追加データセットを抽出してから、それらのデータセットを結合、統合、フィルター処理してさらに複雑なデータセットを派生させることができます。JOIN セット演算子は、たとえばある条件に基づいて 2 つのデータセットの行をマッチして、両方のデータセットからの列を結合した行に追加します。

WHERE 句は、データセットからの行をフィルター処理します。ORDER BY は結果行を並べ替えます。LIMIT は、クエリが返すことができる結果行の最大数を決定します。

OVER 句と GROUP BY 句の両方は、データセットの行を式に基づいたさまざまなセットにグループ化します。これらのグループは、SELECT 句での分析関数で使用される行のスコープを決定します。HAVING 句は、GROUP BY 句で返されるグループのセットをフィルター処理します。

OVER と GROUP BY は、クエリによって返されるデータに異なる効果を持つため、 相互に排他的です。OVER 句は計算を実行し、計算を追加列として各行に追加します。GROUP BY はそうではなく、計算を実行して各グループに対する計算を返すのみです。

ほとんどの RAQL 句は、式内での関数の使用もサポートします。RAQL 関数には 2 種類あります:

RAQL は、関数拡張のセット (プレーンと分析) と、独自の関数を定義する方法を提供します。詳細については、「RAQL 拡張」を参照してください。