• 技术文章 >数据库 >mysql教程

    mysql join是什么意思

    青灯夜游青灯夜游2022-11-11 16:33:25原创186

    在mysql中,join的意思为“连接”,连接的主要作用是根据两个或多个表中的列之间的关系,获取存在于不同表中的数据。join是指将两个表连接起来,两个表分别为“驱动表”和“被驱动表”。join连接分为三类:1、内连接,可查询出的数据是两张表的交集;2、外连接,会先将连接的表分为基表和参考表,再以基表为依据返回满足和不满足条件的记录;3、全连接,可查询出左右两表的所有数据。

    php入门到就业线上直播课:进入学习

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

    大家对join应该都不会陌生,join可以将两个表连接起来。

    join介绍

    join 是指 将两个表连接起来,两个表分别为 驱动表 和 被驱动表。

    数据库中的join成为连接,连接的主要作用是根据两个或多个表中的列之间的关系,获取存在于不同表中的数据。连接分为三类:内连接、外连接、全连接

    join示例

    1.内连接
    内连接查询出的数据是两张表的交集,即上图中红色所表示的部分。

    1.png

    2.左外连接
    左外链接如图中红色部分的内容,即包含左边表的全部行(不管右边的表中是否存在与它匹配的行),和右边表中全部匹配的行。

    2.png

    3.右外链接
    右外链接如图中红色部分的内容,即包含右边表的全部行(不管左边的表中是否存在与它匹配的行),和左边表中全部匹配行。

    3.png

    4.左连接

    左连接如图中红色部分的内容,查询出左表独有的数据

    4.png

    解析:其实上图就是在左外连接的基础上进行的,左外连接得到了左表,但是左表里还包含了一部分左右表都具有相同数据的区 域,这时需要将这部分相同数据去掉,去除的条件就是B.key IS NULL

    5.png

    5.右连接

    如果看懂了上面的左连接,那么右连接大同小异,就是查询出右表独有的数据

    6.png

    6.全连接(Mysql中不支持下图写法)

    查询出左右两表的所有数据

    7.png

    但是!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中不支持下图写法)

    左右表的共有数据之外的数据查询

    8.png

    筛选出对于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视频教程

    以上就是mysql join是什么意思的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    千万级数据并发解决方案(理论+实战):点击学习

    Mysql单表千万级数据量的查询优化与性能分析

    Mysql主从原理及其在高并发系统中的应用

    专题推荐:mysql
    上一篇:mysql中主键是唯一的吗 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• 再见 MySQL,可能不再是一个哗众取宠的梗了!• 深入理解MySQL索引优化器工作原理• MySQL原理总结之左连接、右连接、内连接与Hash连接• mysql中生日用什么类型
    1/1

    PHP中文网