代码之家  ›  专栏  ›  技术社区  ›  Manoj

Alias和CTE是否相同?

sql
  •  1
  • Manoj  · 技术社区  · 14 年前

    select id from(选择*from employee )作为t

    ;临时人员(从员工中选择*)

    ?????

    两者都将返回相同的结果,但以性能为导向。

    1 回复  |  直到 14 年前
        1
  •  2
  •   Chris Diver    14 年前

    对, 在你的例子中 它们是相同的,您应该查看执行计划以查看它们在工作方式和性能方面的任何差异。如果您在SSMS中“include execution plan”并在一个批中执行两个查询,您将得到一个“Query cost(related to the batch)”,它将告诉您哪个查询执行得更好。我猜他们是等价的。

    与派生表相比,CTE(您的第二条语句)的优点是它们可以引用自身并用于递归。