您的位置:首页 > 其它

关于使用CTE(公用表表达式)的递归查询

2018-07-23 18:13 239 查看
--关于使用CTE(公用表表达式)的递归查询
--CTE 的基本语法结构如下:
 WITH expression_name [ ( column_name [,...n] ) ]
    AS
    ( CTE_query_definition )
    --只有在查询定义中为所有结果列都提供了不同的名称时,列名称列表才是可选的。
    --运行 CTE 的语句为:
    SELECT <column_list> FROM expression_name;

--CTE后面也可以跟其他的CTE,但只能使用一个with,多个CTE中间用逗号(,)分隔,如下面的SQL语句所示:
WITH   cte1
AS ( SELECT   *
FROM     table1
WHERE    name LIKE '测试%'
),
cte2
AS ( SELECT   *
FROM     table2
WHERE    id > 20
),
cte3
AS ( SELECT   *
FROM     table3
WHERE    price < 100
)
SELECT  a.*
FROM    cte1 a ,
cte2 b ,
cte3 c
WHERE   a.id = b.id
AND a.id = c.id

--摘录:http://www.cnblogs.com/chengxiaohui/articles/2977104.html

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: