12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
ADADADADAD
mysql数据库 时间:2024-11-25 18:00:46
作者:文/会员上传
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
12-09
用法:1、join用于根据两个或多个表中的列之间的关系,获取存在于不同表中的数据,具有连接的作用,语法为“表1 join 表2”;2、on用于给连接的两个表之间添加约束条件,语法为“表1 jo
以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。
用法:1、join用于根据两个或多个表中的列之间的关系,获取存在于不同表中的数据,具有连接的作用,语法为“表1 join 表2”;2、on用于给连接的两个表之间添加约束条件,语法为“表1 join 表2 on 条件”。
本教程操作环境:windows10系统、mysql8.0.22版本、Dell G3电脑。
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-uroot-p#登录数据库,输入密码CREATEDATABASEnew;#创建数据库newusenew;#使用这个数据库CREATETABLEstu(idintprimarykey,namechar(10),classidint)defaultcharset=utf8mb4;#创建表stuINSERTINTOstu(id,name,classid)VALUES(1,'A',1),(2,'B',1),(3,"C",2);#插入数据SELET*FROMstu;
CREATETABLEclass(idintprimarykey,namechar(10),teacherchar(10))defaultcharset=utf8mb4;#创建表classINSERTINTOclass(id,name,teacher)VALUES(1,'实验班',"小红"),(2,'普通班',"小蓝");#插入数据SELECT*FROMclass;
SELECT*FROMstujoinclass;#用join连接两个表
SELECT*FROMstujoinclassONclassid=class.id;#用on来添加条件
11-20
11-19
11-20
11-20
11-20
11-19
11-20
11-20
11-19
11-20
11-19
11-19
11-19
11-19
11-19
11-19