有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,如果我在第一步就将数据进行了过滤,那应该是最快的方式。不知各位以为如何?