您现在的位置是:群英 > 数据库 > MySQL数据库
MySQL数据库中join和on的用法有什么不同吗
Admin发表于 2022-05-16 11:35:261849 次浏览
这篇文章给大家分享的是“MySQL数据库中join和on的用法有什么不同吗”,文中的讲解内容简单清晰,对大家学习和理解有一定的参考价值和帮助,有这方面学习需要的朋友,接下来就跟随小编一起学习一下“MySQL数据库中join和on的用法有什么不同吗”吧。


用法:1、join用于根据两个或多个表中的列之间的关系,获取存在于不同表中的数据,具有连接的作用,语法为“表1 join 表2”;2、on用于给连接的两个表之间添加约束条件,语法为“表1 join 表2 on 条件”。

本教程操作环境:windows10系统、mysql8.0.22版本、Dell G3电脑。

mysql中join和on的用法是什么

MySQL中join的用法:join具有连接的作用,即当两个或者两个以上的表有关系时,需要用join来连接这些相关的表,来处理或分析数据:

join的用法:连接

举例先看看,就懂了:

例如: 有一个表叫做stu,一个表叫class,stu join class会生成一个新的表,


我们执行: stu join class 后,新的表成为:

通过上面的例子总结一下:

  • join后的列名是两个表列名加起来的,可能会产生相同的列名,如id 和 name
  • 先用表stu中的一行数据表class中的每一行数据不断的拼接,产生新的行
  • 再用表stu的第二行去和表class中的每一行数据拼接,以此类推
  • 表stu是3行,表class是2行,所以按照上面的规律会产成3*2 = 6行的新的表

on的用法:添加约束

一般我们join后的表,并不是我们想要的,这时,可以用 ON 来加一些条件:

例如:stu join class on classid = class.id ,on后面就是我们加的条件,我们想要classid这一列数据和id这一列的数据相等的数据,这里注意一下,join后的表列名是有重复的,所以ON后面的条件语句中我们要加上原来的表名。例如这里:classid = class.id,由于id有两列,这里我们是要表class中的id,所是是class.id。

所以: 执行:stu join class on classid = class.id 后,表变为:

小提示:当只有join时,其后面的on可以用where替换;

在数据库中验证:

mysql -u root -p                                 # 登录数据库,输入密码
CREATE DATABASE new;             # 创建数据库new
use new;                                            # 使用这个数据库
CREATE TABLE stu(id int primary key,name char(10),classid int)default charset = utf8mb4;             # 创建表stu
INSERT INTO stu (id,name,classid)VALUES(1,'A',1),(2,'B',1),(3,"C",2);                        # 插入数据
SELET * FROM stu;

CREATE TABLE class(id int primary key,name char(10),teacher char(10))default charset = utf8mb4;          # 创建表class
INSERT INTO class (id,name,teacher)VALUES(1,'实验班',"小红"),(2,'普通班',"小蓝");                      #  插入数据
SELECT * FROM class;

SELECT * FROM stu join class;                  #   用join连接两个表

SELECT * FROM stu join class ON classid = class.id;               # 用on来添加条件



通过以上内容的阐述,相信大家对“MySQL数据库中join和on的用法有什么不同吗”已经有了进一步的了解,更多相关的问题,欢迎关注群英网络或到群英官网咨询客服。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

标签: join和on
相关信息推荐
2022-08-13 17:51:51 
摘要:查询方法:1、使用“show create table 表名”语句;2、使用“show table 表名”语句;3、通过查询“information_schema.partitions”表来查看表具有哪几个分区、分区方法、分区中数据的记录。
2022-06-13 17:06:28 
摘要:恢复数据库数据误删除的方法:首先运行Recovery for SQL Server,并在recover中选择恢复数据;然后选择Custom,并选择【search..】选项;接着选择目标文件夹,并点击Start;最后选择目标数据库。
2022-05-16 11:34:01 
摘要:mysql字符转换函数:1、LCASE(),可将字符串转换为小写;2、LOWER(),可将字符串转换为小写;3、UCASE(),可将字符串转换为大写;4、UPPER(),可将字符串转换为大写。
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部