mysql使用from与join两表查询的区别总结
发表于:2025-11-09 作者:千家信息网编辑
千家信息网最后更新 2025年11月09日,前言在mysql中,多表连接查询是很常见的需求,在使用多表查询时,可以from多个表,也可以使用join连接连个表这两种查询有什么区别?哪种查询的效率更高呢? 带着这些疑问,决定动手试试1.先在本地的
千家信息网最后更新 2025年11月09日mysql使用from与join两表查询的区别总结
前言
在mysql中,多表连接查询是很常见的需求,在使用多表查询时,可以from多个表,也可以使用join连接连个表
这两种查询有什么区别?哪种查询的效率更高呢? 带着这些疑问,决定动手试试
1.先在本地的mysql上先建两个表one和two
one表
CREATE TABLE `one` ( `id` int(0) NOT NULL AUTO_INCREMENT, `one` varchar(100) NOT NULL, PRIMARY KEY (`id`)) ENGINE = InnoDB CHARACTER SET = utf8;
two表
CREATE TABLE `two` ( `id` int(0) NOT NULL AUTO_INCREMENT, `two` varchar(100) NOT NULL, PRIMARY KEY (`id`)) ENGINE = InnoDB CHARACTER SET = utf8;
先随便插入几条数据,查询看一下;
select one.id,one.one,two.id,two.two from one,two where one.id=two.id;
select one.id,one.one,two.id,two.two from one join two on one.id=two.id;

对比这两次的查询,查询时间几乎没有区别,查看sql运行分析,也没有区别
为了突出两种查询的性能差异,往one表中插入100w条数据,往two表中插入10w条数据,在大量数据面前,一丝一毫的差别也会被无限放大;这时候在来比较一下差异
先使用python往数据库中插入数据,为啥用python,因为python写起了简单
上代码
import pymysqldb = pymysql.connect("127.0.0.1", 'root', "123456", "bruce")cursor = db.cursor()sql = "INSERT INTO one (one) values (%s)"for i in range(1000000): cursor.executemany(sql, ['one' + str(i)]) if i % 10000 == 0: db.commit() print(str(i) + '次 commit')db.commit()print('insert one ok')sql2 = "INSERT INTO two (two) values (%s)"for i in range(100000): cursor.executemany(sql2, ['two' + str(i)]) if i % 10000 == 0: db.commit() print(str(i) + '次 commit')db.commit()print('insert two ok')耐心等待一会,插入需要一些时间;
等数据插入完成,来查询一些看看
先使用FROM两个表查询
select one.id,one.one,two.id,two.two from one,two where one.id=two.id;
用时大约20.49;
再用JOIN查询看一下
select one.id,one.one,two.id,two.two from one join two on one.id=two.id;
用时19.45,在10w条数据中,1秒的误差并不算大,
查看一下使用id作为条件约束时的查询

查询时间没有差别
再看一下sql执行分析
结果还是一样的
总结
在mysql中使用FROM查询多表和使用JOIN连接(LEFT JOIN,RIGHT JOIN除外),查询结果,查询效率是一样的
好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。
查询
数据
时间
两个
内容
差别
差异
效率
疑问
结果
分析
学习
耐心
一丝一毫
上代
价值
前言
多个
就是
常见
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发的证书都有哪些
服务器香港vps
四川第三方软件开发多少钱
珠海电器软件开发岗位
网络安全法 硬件提供商
数据库专业研究生学校排名
鼎基科技互联网有限公司
软件开发以后做什么工作
安徽服务器虚拟化价格
互联网与新兴科技的名言警句
售货机软件开发
是数据库安全技术的是
做软件开发的领导职位
我的世界服务器拿回绑定物品指令
服务器如何打开资源管理
济南易启巴巴网络技术有限公司
上交网络安全专硕学费
网络安全的一般特征是什么
现代数据库技术 课程大纲
腾讯新闻网络安全员
广州上座巴网络技术有限公司官网
僵尸末日服务器连接不上
郑训汇纂及数据库建设
博看期刊数据库宣传
网络安全教育优质课件
九玩网络技术有限公司
十四五网络安全产业发展目标
怎么区分软件开发和销售
网络安全人才缺70万
域名服务器 攻击