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
查询和分析结果