首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多次CTE与反向CTE的差异

多次CTE与反向CTE的差异
EN

Stack Overflow用户
提问于 2015-02-12 23:50:00
回答 2查看 1.3K关注 0票数 0

由于我正在尝试学习CTE,所以我在网上查看不同的CTE示例,但我遇到了两种主要的编写CTE的方法。

  1. 递归CTE,它有一个锚点,然后与子查询合并,该子查询使用锚和以前调用的结果。
  2. Multiple ,其中有两个不同的CTE定义的逗号,但是第二个逗号是指第一个逗号,这有点像递归的CTE。

我指的是下面的例子:

http://blog.sqlauthority.com/2009/08/08/sql-server-multiple-cte-in-one-select-statement-query/

想知道它和一个联合的递归和一个CTE的名字有什么不同?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-13 00:23:40

CTE不必是递归的。您可以使用它们而不是子查询,这是第一个例子所做的。您可以使用一个或多个CTE代替子查询。

了解CTE的最佳方法是创建一些测试数据,并对它们运行这两个查询,以查看结果有何不同。

票数 1
EN

Stack Overflow用户

发布于 2019-01-14 22:58:29

递归CTE从派生的CTE表达式中构建它的锚集,通常基于WHERE等限制条件。递归是自包含的,而不是依赖于其他先前定义的表达式/集。

假设有多个CTE,您指的是由后续SELECT语句定义的一组串联CTE,相比之下,这是对锚集(和字段)按定义顺序进行的一组转换。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28490109

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档