站长家园(原代码之家)(www.adminjie.com)网站源码,微信源码,游戏源码,商业源码分享平台。
当前位置:网站首页 技术文章 网络编程 正文

mysql中join和on的用法是什么

时间:2021-12-31 [网络编程]作者:fabuyuan 浏览:7 次

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

mysql中join和on的用法是什么  2

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

mysql中join和on的用法是什么

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

join的用法:连接

举例先看看,就懂了:

例如: 有一个表叫做stu,一个表叫class,stu join class会生成一个新的表,
mysql中join和on的用法是什么  2
mysql中join和on的用法是什么  2
我们执行: stu join class 后,新的表成为:
mysql中join和on的用法是什么  2
通过上面的例子总结一下:

  • 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 后,表变为:
mysql中join和on的用法是什么  2
小提示:当只有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;

mysql中join和on的用法是什么  2

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;

mysql中join和on的用法是什么  2

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

mysql中join和on的用法是什么  2

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

mysql中join和on的用法是什么  2

推荐学习:mysql视频教程

以上就是mysql中join和on的用法是什么的详细内容,更多请关注站长家园其它相关文章!

本文标签:  mysql

转载请注明来源:mysql中join和on的用法是什么

本文永久链接地址:https://www.adminjie.com/post/6944.html

免责声明:
本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。

附:
二○○二年一月一日《计算机软件保护条例》第十七条规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬!鉴于此,也希望大家按此说明研究软件!

版权声明:
一、本站致力于为软件爱好者提供国内外软件开发技术和软件共享,着力为用户提供优资资源。
二、本站提供的部分源码下载文件为网络共享资源,请于下载后的24小时内删除。如需体验更多乐趣,还请支持正版。
三、我站提供用户下载的所有内容均转自互联网。如有内容侵犯您的版权或其他利益的,若有侵犯你的权益请:提交版权证明文件到邮箱 2225329873#qq.com(#换为@) 站长会进行审查之后,情况属实的会在三个工作日内为您删除。

  • 站长家园(原代码之家)会员升级
  • 最新文章
    • oracle怎样设置查询条件

      oracle怎样设置查询条件

      在oracle中,可以利用where子句设置查询条件,where用于从表中或临时数据集中查找满足指定条件的记录,可用于select、update和delete语...

    • core sync是什么软件

      core sync是什么软件

      coresync是CreativeCloud桌面应用程序的一个组件,也是其安装的一部分;CoreSync负责在计算机和CreativeCloud之间同步数...

    • 数据的两种存储结构是什么

      数据的两种存储结构是什么

      数据的两种存储结构是:1、顺序存储结构,它是把逻辑上相邻的结点存储在物理位置上相邻的存储单元中,结点之间的逻辑关系由存储单元的邻接关系来体现;2、链式存储结构,...

    • 物联网的体系架构是哪三层?具体分别实现什么功能?

      物联网的体系架构是哪三层?具体分别实现什么功能?

      物联网的体系架构有三层,分别是:1、感知层,物联网依靠感知层识别物体和采集信息;2、网络层,实现对传输的信息进行融合等处理;3、应用层,是物联网和用户的接口,能...

    • 卡屏是什么意思

      卡屏是什么意思

      卡屏是一种游戏术语,指的是因为某些技术,或者游戏网速不够、电脑内存不足而导致的游戏界面卡住不能动的现象。导致卡屏的原因:1、病毒木马;2、开机启动项过多;3、电...

    热门文章