这里有两个结果一样的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

sql

3个回答

第一个好一点,两个效果一样,但是第一个便于记忆

1好。仅需要通过索引(aid)和(bid)就能完成连接和过滤。
如果没有自动优化,2需要先生成过滤的中间结果、再连接。

个人觉得1好:第一:sql1 简洁明了。第二:sql1 执行的速度应该也比sql2 执行的快。你可以自己测试一下。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问