WITH子句支援將子查詢結果儲存到暫存資料表中,從而實現後續的SQL分析可在暫存資料表中執行。通過WITH子句可簡化SQL語句,提高可閱讀性。本文介紹WITH子句的基本文法和樣本。
文法
WITH table_name AS (select_statement) select_statement
參數說明
參數 | 說明 |
table_name | 暫存資料表名稱。 |
select_statement | 完整的SELECT語句。 |
樣本
在名為website_log的Logstore中分析每台主機對應的平均請求長度,並將分析結果儲存到表T1中;在名為access_log的Logstore中分析每台主機對應的平均請求長度,並將分析結果儲存到表T2中。然後聯集查詢表T1和表T2,擷取兩個表中相同主機對應的平均請求長度。
查詢和分析語句
* | 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
查詢和分析結果