有A表,B表
方式一:
select a.*,b.* from a left outer join b on a.id=b.id and a.id2=b.id2 where a.id='aaa'方式二:
select a.*,b.* from (select a.* from a where a.id='aaa') as a left outer join (select b.* from b where b.id='aaa') as b on a.id2=b.id2我没有大量的数据来验证,但我个人认为应该方式二的效率最高,应为根据查询的顺序,首先是查询from 后面的表,然后再计算连接条件on,如果我在第一步就将数据进行了过滤,那应该是最快的方式。不知各位以为如何?
方式一:
select a.*,b.* from a left outer join b on a.id=b.id and a.id2=b.id2 where a.id='aaa'方式二:
select a.*,b.* from (select a.* from a where a.id='aaa') as a left outer join (select b.* from b where b.id='aaa') as b on a.id2=b.id2我没有大量的数据来验证,但我个人认为应该方式二的效率最高,应为根据查询的顺序,首先是查询from 后面的表,然后再计算连接条件on,如果我在第一步就将数据进行了过滤,那应该是最快的方式。不知各位以为如何?
解决方案 »
- 求教:怎样升级SQL Server 2008 到SP2
- 再谈DATETIME类型的日期时间分离与加减法
- sqlserver的输出,print、return还有select他们之间有什么区别啊?
- 亲手求助一个循环查找替换的语句
- 98第一版的ODBC如何配 急急
- 如何查询SQLSERVER数据库DB1中所有表的记录数?
- 兄弟姐妹救救我呀!!!!!!
- 为什么我在企业管理器中向一个Text类型的列中输入数据时会提示“无法编辑该单元”?
- 当选中表中一记录时,如何使别人不在选中
- 怎样在oracle8中的varchar或long型字段中存入 & 符号?
- 求直传两个参数的分页存储过程
- sql select 查询操作高级用法实现
第二种,先join出来,在 where a.id='aaa' 就是先把所有数据弄一起了,在去找id='aaa'的
实际上,还不知道..