你这样写:select * from (select * from 表1 where 条件) a join 表2 b on a.id=b.id

解决方案 »

  1.   

    waitwater(淡蓝色的水) ,letsflytogether(琴剑楼主) ,kinmax(书生) 
    都认为在某种情况下可能会快一些,和我的感觉差不多,不过我想不清楚原因
    能详细说一下原因么?
    ~_~星星多的都认为不会快,那么能否解释原因呢?
    例如大力的句子:
    select * from (select * from 表1 where 条件) a join 表2 b on a.id=b.id
    在内部是怎么执行的呢?
    @_@yujohny(踏网无痕)的想法很不错啊,不过我需要的条件会变的,如果每次查询都要判断变不变的话,那就没有必要了,还不如直接查快了
    我创建临时表的目的是为了在联合查询中不加其他条件。
    ^_^ 问题范围缩小:
    select * from (select * from 表1 where 条件) a join 表2 b on a.id=b.id 中,是将 'select * from 表1 where 条件' 放入主句中执行快,
    还是先执行'select * from 表1 where 条件 into #temp',然后执行主语句快
    还是没有分别?
    为什么?主要是想多了解一些sqlserver对联合查询语句的处理方式,大家共同学习一下
    还望各位高手不吝指教
    ^O^