select a.no,b.name from a,b where a.id=b.id;
select a.no,b.name from b,a where a.id=b.id;这两个sql应该分别会编译产生如下描述的语句:
1、循环a表的每一条记录,根据当天行的a.id去查找b表中相同的b.id,然后...
2、循环b表的每一条记录,根据当天行的b.id去查找b表中相同的a.id,然后...
这是由于from后边表的排列顺序造成的,同样的where后边的多条件也会有相似的情况
如果b.id有索引,自然1就会比较快,尤其是a表的记录比较少的时候更为显著
如果条件中写成外连接的样子,相当于可以强制产生一某个表为主循环,去查询另外一个表的记录