gpt4 book ai didi

sql-server - 是否 CTE

转载 作者:行者123 更新时间:2023-12-02 19:40:24 27 4
gpt4 key购买 nike

由于长期使用 SQL2000,我并没有真正深入了解公用表表达式。

我给出的答案here (#4025380)here (#4018793)违背了潮流,因为他们没有使用 CTE。

我很欣赏它们对于递归来说是最重要的,并且有一些查询可以通过它们的使用而大大简化,但是在什么时候它们的使用只是无聊的呢?与子查询或联接相比,它们是否具有巨大的性能优势?它们真的简化了代码并使其更易于维护吗?

简而言之,什么时候使用 CTE 而不是“较小”语法是好的做法。

最佳答案

如果满足以下条件,您通常应该在普通子查询上使用 CTE:

  • 您的查询需要递归(如您所述)
  • 子查询很大或很复杂
  • 包含的查询很大或很复杂
  • 子查询重复(或者至少可以通过对公共(public)子查询执行不同的简单操作来简化多个子查询)

简而言之,是的,如果使用得当,它们确实会使查询更具可读性。

关于sql-server - 是否 CTE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4037582/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com