请耐心等待,我是中级新手。
我的问题是 - 我应该什么时候使用 CTE?我如何决定是否应该使用 CTE?
我什么时候应该使用这个:
;with cteTesting as
(
select *
from testing.first_table
)
select *
from testing.second_table s
inner join cteTesting t
on s.key = t.key
在此:
select *
from testing.second_table s
inner join
(
select *
from testing.first_table
) t
on s.key = t.key
为什么?这只是为了代码流、代码可读性 - 还是有更多技术性的东西?在某些情况下会产生更好的执行计划吗?
编辑:刚刚意识到我的示例代码示例很差。我试图强调在很多情况下我可以在 from 语句中使用 select 而不是 CTE - 我如何决定应该使用哪一个?