mysql中join和on怎么用

48次阅读
没有评论

共计 1515 个字符,预计需要花费 4 分钟才能阅读完成。

丸趣 TV 小编给大家分享一下 mysql 中 join 和 on 怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

用法: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 -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 怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注丸趣 TV 行业资讯频道!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-15发表,共计1515字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)