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


    --关于使用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
  • 相关阅读:
    [Usaco2008 Nov]mixup2 混乱的奶牛
    [Poi2004] 旅行问题
    [洛谷P1278]单词游戏
    redis20
    redis19
    redis18
    OHC Java堆外缓存详解与应用
    SQL优化
    Mysql安装、字符、引擎设置
    大文件下载
  • 原文地址:https://www.cnblogs.com/shy1766IT/p/9356137.html
Copyright © 2020-2023  润新知