![]() |
1
1
子查询用于:
为什么使用子查询而不使用CTE?最重要的原因是cte是SQL语言后来的一个补充。除了递归CTE之外,它们并不是真正需要的。当子查询被多次引用时,它们真的很方便,但是有人可能会说视图也有同样的用途。
|
![]() |
2
1
除非您的查询计划告诉您子查询性能比CTE好,否则我将使用
子查询和简单(非递归)CTE版本,它们可能非常相似。您必须使用探查器和实际执行计划来发现任何差异。
我会用
|
![]() |
3
0
不考虑性能: 子查询(在FROM子句处)是好的,只要有少量的、小的和简单的子查询,因此转换成CTE实际上会使它更难阅读。 考虑到性能因素: CTE可能会变得越复杂。如果是这样的话,他们就变得太危险了,不值得信任一些柚木和变化,并可能导致更激进的性能方法,如将所有cte转换为temp(#)。 |
![]() |
Sadeq Dousti · 相当于“嵌套删除”的执行性能SQL查询 3 年前 |
![]() |
roca · 试图让CTE在PostgreSQL中工作 3 年前 |
![]() |
joeCarpenter · 使用物理表和CTE创建多个联接 7 年前 |
![]() |
gdanton · 用于查找所有依赖项的SQL Server递归CTE 7 年前 |
![]() |
user2850751 · SQL-获取层次结构的单个分支 7 年前 |
|
Amir Farashah · 我需要在两张桌子上使用CTE 7 年前 |
![]() |
Nick77 · 递归CTE SQL获取所有级别 7 年前 |