请教个SQL语句问题

lhprince1 2013-04-11 12:20:37

select a.*, temptb.* from a,
(select id, name from b) as temptb
where a.id=temptb.id

想问一下查询每条记录的时候是否重新生成temptb(temptb没有什么意义只是想说明白我的意思)
...全文
225 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lhprince1 2013-04-11
  • 打赏
  • 举报
回复
我是说效率上有区别吗?
lhprince1 2013-04-11
  • 打赏
  • 举报
回复
如果像上面那样写数据量大的时候会不会效率差?

 select a.*,(select top 1 name from b where a.id=b.id) as newcol from a
和这么写有区别吗?
百年树人 2013-04-11
  • 打赏
  • 举报
回复
你把它当成一个视图好了
MrYangkang 2013-04-11
  • 打赏
  • 举报
回复
查询结果取个别名而已,并不是从新生成
旅行者I号 2013-04-11
  • 打赏
  • 举报
回复
你不要以为这一句(select id, name from b)会生成一个中间结果集再去跟a表相连,其实这个会被展开成b表直接跟a表相连,请看执行计划

34,576

社区成员

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

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