文章详情页
mysql两种多表查询的区别?
问题描述
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 - 读js权威指南“作为值得函数”产生了疑惑,求释疑2. 请问带渐变背景的进度条如何实现?求给点思路3. file - Python如何读文件内容修改后写回原文件4. python中merge后文件莫名变得非常大5. javascript - 为什么 process.stdin 会有 write 方法◔ ‸◔?6. boostrap怎么在移动端不显示sidebar?7. android - 使用listview加载不同item,数据填充错误。8. python3.x - python中的虚拟环境怎样设置一直处于激活状态9. java - 怎么处理前台要展示,但是数据库表没有该字段的实体类冗余属性呢?10. mysql - 数据库建字段,默认值空和empty string有什么区别 110
排行榜