一、语法
WITH common_table_expression [ , … ]
其中 common_table_expression 定义为:
expression_name [ ( column_name [ , … ] ) ] [ AS ] ( query )
二、参数
| 子句/关键字 | 说明 |
| expression_name | 为公共表表达式指定名称 |
| query | 一个 SELECT 语句 |
三、示例
— CTE 基本用法WITH t(x, y) AS (SELECT 1, 2)SELECT * FROM t WHERE x = 1 AND y = 2– CTE 嵌套WITH t AS ( WITH t2 AS (SELECT 1) SELECT * FROM t2)SELECT * FROM t– CTE 在子查询中SELECT max(c) FROM ( WITH t(c) AS (SELECT 1) SELECT * FROM t)– CTE 在标量子查询中SELECT (WITH t AS (SELECT 1) SELECT * FROM t)– 多个 CTEWITH t1 AS (SELECT 1 AS a), t2 AS (SELECT 2 AS b)SELECT * FROM t1, t2