文章详情页
mysql两种多表查询的区别?
浏览:64日期:2022-06-13 13:01:22
问题描述
SQL 1:
SELECT a.*, b.nameFROM t_coach aLEFT JOIN t_school b on a.school_id=b.id
SQL 2:
SELECT a.*, (select b.name FROM t_school b WHERE b.id= a.school_id) AS name FROM t_coach a
SQL1和SQL2得到结果是一样的。
在实际开发中第二种SQL 可以这样写吗? 相对于SQL1 ,SQL2的效率是不是低?
问题解答
回答1:SQL1,B表只扫描一遍SQL2,A表有多少条记录,B表就被扫描多少遍当你数据库的数据量足够到,SQL2直接出不来结果,会把数据库搞死
相关文章:
1. javascript - 小demo:请教怎么做出类似于水滴不断扩张的效果?2. c++ - win764位环境下,我用GCC为什么指针占8个字节,而long是4个字节?3. macos - mac用VMware Fusion安装了centos7,我怎么把centos映射到本地,就像windows映射一个网络位置4. 求大神帮我看看是哪里写错了 感谢细心解答5. 为什么一个类里面只能有一个私有的 我不知道按了什么谁给解释一下6. thinkjs - 使用mysql搭建cms应该如何设计表?或怎样开始?7. javascript - 求解答,koa-bodyparser获取到的参数是空对象,为什么?????8. mysql 获取时间函数unix_timestamp 问题?9. css - width设置为100%之后列表无法居中10. python - nginx为什么不能反代图片?
排行榜
