用法: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视频教程
以上是mysql中join和on的用法是什么的详细内容。更多信息请关注PHP中文网其他相关文章!

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于架构原理的相关内容,MySQL Server架构自顶向下大致可以分网络连接层、服务层、存储引擎层和系统文件层,下面一起来看一下,希望对大家有帮助。

在mysql中,可以利用char()和REPLACE()函数来替换换行符;REPLACE()函数可以用新字符串替换列中的换行符,而换行符可使用“char(13)”来表示,语法为“replace(字段名,char(13),'新字符串') ”。

方法:1、利用right函数,语法为“update 表名 set 指定字段 = right(指定字段, length(指定字段)-1)...”;2、利用substring函数,语法为“select substring(指定字段,2)..”。

mysql的msi与zip版本的区别:1、zip包含的安装程序是一种主动安装,而msi包含的是被installer所用的安装文件以提交请求的方式安装;2、zip是一种数据压缩和文档存储的文件格式,msi是微软格式的安装包。

转换方法:1、利用cast函数,语法“select * from 表名 order by cast(字段名 as SIGNED)”;2、利用“select * from 表名 order by CONVERT(字段名,SIGNED)”语句。

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于MySQL复制技术的相关问题,包括了异步复制、半同步复制等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了mysql高级篇的一些问题,包括了索引是什么、索引底层实现等等问题,下面一起来看一下,希望对大家有帮助。

在mysql中,可以利用REGEXP运算符判断数据是否是数字类型,语法为“String REGEXP '[^0-9.]'”;该运算符是正则表达式的缩写,若数据字符中含有数字时,返回的结果是true,反之返回的结果是false。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

Dreamweaver CS6
视觉化网页开发工具

禅工作室 13.0.1
功能强大的PHP集成开发环境

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境