WITH 句は、サブクエリの結果を一時テーブルに保存し、後続の SQL 文でそのテーブル内のデータを分析できるようにします。WITH 句は SQL 文を簡素化し、可読性を向上させます。
構文
WITH table_name AS (select_statement) select_statement
パラメーター
|
パラメーター |
説明 |
|
table_name |
一時テーブルの名前です。 |
|
select_statement |
一時テーブルのデータを定義する SELECT 文です。 |
例
次の例では、website_log という名前の Logstore 内のホストごとの平均リクエスト長を計算し、結果を一時テーブル T1 に保存します。次に、access_log という名前の Logstore に対して同じ処理を実行し、結果を一時テーブル T2 に保存します。JOIN 句を使用して T1 と T2 を結合し、両方の Logstore に存在するホストの平均リクエスト長を取得します。
-
クエリ文
* | with T1 AS ( SELECT host, avg(request_length) length FROM website_log GROUP BY host ), T2 AS ( SELECT host, avg(request_length) length FROM access_log GROUP BY host ) SELECT T1.host, T1.length, T2.length FROM T1 JOIN T2 ON T1.host = T2.host