1、select * from A a left join B b on a.aid=b.bid where a.aid > 10
2、select * from (select * from A where aid > 10) a left join (select * from B where bid > 10) b on a.aid=b.bid
第一个好一点,两个效果一样,但是第一个便于记忆
1好。仅需要通过索引(aid)和(bid)就能完成连接和过滤。
如果没有自动优化,2需要先生成过滤的中间结果、再连接。
个人觉得1好:第一:sql1 简洁明了。第二:sql1 执行的速度应该也比sql2 执行的快。你可以自己测试一下。