加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql中join和on咋用

发布时间:2022-06-20 18:07:50 所属栏目:MySql教程 来源:互联网
导读:MySQL中join的用法:join具有连接的作用,即当两个或者两个以上的表有关系时,需要用join来连接这些相关的表,来处理或分析数据: join的用法:连接 举例先看看,就懂了: 例如: 有一个表叫做stu,一个表叫class,stu join class会生成一个新的表, mysql
  MySQL中join的用法:join具有连接的作用,即当两个或者两个以上的表有关系时,需要用join来连接这些相关的表,来处理或分析数据:
 
  join的用法:连接
  举例先看看,就懂了:
  例如: 有一个表叫做stu,一个表叫class,stu join class会生成一个新的表,
  mysql中join和on怎么用
  mysql中join和on怎么用
  我们执行: stu join class 后,新的表成为:
  mysql中join和on怎么用
  通过上面的例子总结一下:
 
  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怎么用
  小提示:当只有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怎么用”这篇文章的所有内容,感谢各位的阅读!

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读