mysql中join的作用是什么

61次阅读
没有评论

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

这篇文章主要介绍“mysql 中 join 的作用是什么”的相关知识,丸趣 TV 小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“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 的独有 )

关于“mysql 中 join 的作用是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注丸趣 TV 行业资讯频道,丸趣 TV 小编每天都会为大家更新不同的知识点。

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