回答

收藏

CTE和SubQuery两者的区别?

技术问答 技术问答 199 人阅读 | 0 人回复 | 2023-09-14

答案有两个版本,一个用a sub-query,另一种使用aCTE解决同样的问题。/ c# G9 x# h1 ]
现在,使用CTE (Common Table Expression)子查询而不是子查询有什么好处(因此,查询的实际可读性更高)
* c8 x3 F& s. _1 Y2 J* |  U, a1 d唯一使用的优点CTE了sub-select,我可以实际命名sub-query。当将CTE简单(非递归)CTE两者还有别的区别吗?
' M6 j: g6 S' h                                                                & b$ T0 ~" t( ?% G7 w
    解决方案:                                                               
& r! x7 Q9 Z: e8 W8 ~! L2 K- @5 L( K                                                                在子查询与简单(非递归)CTE在版本中,它们可能非常相似。您必须使用探测器和实际执行计划来发现任何差异,这将特定于您的设置(所以我们不能完全告诉您答案)。, w- f3 K4 k8 R! q1 v0 Z. k1 U
在一般; CTE可递归使用;子查询不能。这使得它们特别适合树形结构。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则