加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql中join的作用指的是什么

发布时间:2023-06-20 15:30:14 所属栏目:MySql教程 来源:
导读:这篇文章主要介绍“mysql中join的作用是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“mysql中join的作用是什么”文章能帮助大家解决问题。
这篇文章主要介绍“mysql中join的作用是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“mysql中join的作用是什么”文章能帮助大家解决问题。

在mysql中,join的意思为“连接”,连接的主要作用是根据两个或多个表中的列之间的关系,获取存在于不同表中的数据。join是指将两个表连接起来,两个表分别为“驱动表”和“被驱动表”。join连接分为三类:1、内连接,可查询出的数据是两张表的交集;2、外连接,会先将连接的表分为基表和参考表,再以基表为依据返回满足和不满足条件的记录;3、全连接,可查询出左右两表的所有数据。
 
大家对join应该都不会陌生,join可以将两个表连接起来。
 
join介绍
 
join 是指 将两个表连接起来,两个表分别为 驱动表 和 被驱动表。
 
数据库中的join成为连接,连接的主要作用是根据两个或多个表中的列之间的关系,获取存在于不同表中的数据。连接分为三类:内连接、外连接、全连接
 
join示例
 
1.内连接
 
内连接查询出的数据是两张表的交集,即上图中红色所表示的部分。
 
2.左外连接
 
左外链接如图中红色部分的内容,即包含左边表的全部行(不管右边的表中是否存在与它匹配的行),和右边表中全部匹配的行。
 
3.右外链接
 
右外链接如图中红色部分的内容,即包含右边表的全部行(不管左边的表中是否存在与它匹配的行),和左边表中全部匹配行。

4.左连接
 
左连接红色部分的内容,查询出左表独有的数据
 
解析:其实上图就是在左外连接的基础上进行的,左外连接得到了左表,但是左表里还包含了一部分左右表都具有相同数据的区             域,这时需要将这部分相同数据去掉,去除的条件就是B.key IS NULL
 
5.右连接
 
如果看懂了上面的左连接,那么右连接大同小异,就是查询出右表独有的数据
 
6.全连接(Mysql中不支持下图写法)
 
查询出左右两表的所有数据
 
但是!MySQL中并不支持这种写法,所以只能通过别的方法。
 
A、B的所有也就是A的独有、B的独有 和A、B的共同拥有的数据
 
Mysql中可以使用:select * from Table A left join Table B on A.Key = B.Key       (找出A的所有)
 
                              union            (去重)
 
                              select * from Table A right join Table B on A.Key = B.Key     (找出B的所有)
 
7.全外连接(Mysql中不支持下图写法)
 
左右表的共有数据之外的数据查询
 
筛选出对于A表而言B为空,对于B表而言A为空的
 
MySQL中也不支持这种写法,所以只能通过别的方法。
 
其实全外连接也就是A的独有+B的独有
 
Mysql语法:          select * from Table A left join Table B on A.Key = B.Key  where B.Key is null      (找出A的独有)
 
                              union            (去重)
 
                              select * from Table A right join Table B on A.Key = B.Key where A.Key is null    (找出B的独有)
 
 

(编辑:聊城站长网)

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