Alias和CTE是一样的吗?

时间:2010-07-16 10:45:33

标签: sql

  

从(从员工中选择*)中选择ID   )作为t

相同
  

;临时为(选择*来自员工)   从temp

中选择id

···

两者都将返回相同的结果。但是关于性能导向。

1 个答案:

答案 0 :(得分:2)

是的,在您的示例中它们是相同的,您应该查看执行计划,以查看它们的工作方式和性能的差异。如果您在SSMS中“包含执行计划”并在一个批处理中执行两个查询,您将获得“查询成本(与批处理相关)”,它将告诉您哪个查询执行得更好。我猜它们是等价的。

CTE(您的第二个语句)对派生表的优势在于它们可以引用自身并用于递归。