请教一个问题

gogodiy 2010-10-29 09:09:33
经常在SQL2005的存储过程中看到如下写法:
with X (iID)
as (select iID from table1 where ...
union all
select iID from table2 where ...
)
select distinct iID from X
这里的X是什么概念?和临时表是不是类似?
...全文
71 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
siegebaoniu 2010-10-29
  • 打赏
  • 举报
回复
很好用的东西~
SQLCenter 2010-10-29
  • 打赏
  • 举报
回复
也和子查询类似,但子查询不可以重复引用,而CTE可以:

with X (iID)
as (select iID from table1 where ...
union all
select iID from table2 where ...
)
select * from X a, X b, X c...
SQLCenter 2010-10-29
  • 打赏
  • 举报
回复
这里的X叫公共表达式(子查询),确实和临时表类似。

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧