这里有两个结果一样的SQL语句,请问哪一个更好

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 执行的快。你可以自己测试一下。