MySQL中的join以及on条件的用法 您所在的位置:网站首页 sql中的join MySQL中的join以及on条件的用法

MySQL中的join以及on条件的用法

#MySQL中的join以及on条件的用法| 来源: 网络整理| 查看: 265

文章目录 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来添加条件

在这里插入图片描述 left join 和 right join 参考下一篇博客



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有