猿问

【mysql】select 和 left join 的区别是啥

explain select a.id,b.id from A a left join B b on a.b_id=b.a_id  后结果

和 explain select a.id ,(select b.id from B b where a.b_id=b.a_id) as b_id from A a

https://img2.mukewang.com/5b4768a40001d6ad02850100.jpg

括号里面的查询属于子查询吗?

这俩区别是啥一个left join,一个 直接select,我用explain除了select_type没啥区别呀,

这样哪个比较快为什么,俩区别是什么


慕田峪4524236
浏览 370回答 1
1回答

慕的地10843

经过个人实践,证明子查询效率特别低,而一般的子查询都可以由关连查询来实现相同的功能,关联查询的效率要提高很多,所以建议在数据查询时避免使用子查询(尤其是在记录很多时),而最好用关联查询来实现。
随时随地看视频慕课网APP
我要回答