【Mysql数据库】终于搞懂了左连接、右连接、内连接、全连接

作者简介:
小曾同学.com,一个致力于测试开发的博主⛽️,主要职责:测试开发、CI/CD
如果文章知识点有错误的地方,还请大家指正,让我们一起学习,一起进步。
座右铭:不想当开发的测试,不是一个好测试✌️。
如果感觉博主的文章还不错的话,还请点赞、收藏哦!

文章目录

  • 一、概念
  • 二、案例演示
    • 2.1 内连接
    • 2.2 左连接
    • 2.3 右连接
    • 2.4全连接

一、概念

数据库连接是为了在不同的表中提取我们需要的信息,并将这些信息匹配在一起,达到精简的效果。

那么,如何提取我们需要的信息呢,数据库提供了多种连接方式,其中包括内连接、外连接、全连接,外连接又分为左连接、右连接

  • 内连接
  • 表示两表或多个表的交集
    • 有两种写法:innerinner join
  • 外连接表示以其中一表为主,使用关键词 outer join
  • 左连接或左外连接:left join 或者 left outer join
  • 右连接或右外连接:right join 或者 right outer join
  • 全连接表示将左右表连接在一起
  • 关键字:full join(oracle)、union(mysql)

二、案例演示

现有两张表A表、B表

A表
【Mysql数据库】终于搞懂了左连接、右连接、内连接、全连接_第1张图片
B表
【Mysql数据库】终于搞懂了左连接、右连接、内连接、全连接_第2张图片

2.1 内连接

内连接查询的是两张表或者多个表的交集,也就是两张表的公共部分。

【Mysql数据库】终于搞懂了左连接、右连接、内连接、全连接_第3张图片

内连接查询结果

select * from A join B on A.id = B.id
select * from A inner join B on A.id = B.id
select * from A,B on A.id = b.id

【Mysql数据库】终于搞懂了左连接、右连接、内连接、全连接_第4张图片

2.2 左连接

左连接也称为左外链接,是将左表和左右表交集的组合。

左连接以左表为基础,根据on 后给出的条件将两表连接起来,最终的结果会将左表所有的信息列出,而右表只列出on条件与左表满足的部分,其余部分为空。

select * from A left join B on A.id = B.id;

【Mysql数据库】终于搞懂了左连接、右连接、内连接、全连接_第5张图片

2.3 右连接

右连接也称为右外链接,是将右表和左右表交集的组合。

右连接以右表为基础,根据on 后给出的条件将两表连接起来,最终的结果会将右表所有的信息列出,而左表只列出on条件与右表满足的部分,其余部分为空。

select * from A right join B on A.id = B.id;

【Mysql数据库】终于搞懂了左连接、右连接、内连接、全连接_第6张图片

2.4全连接

mysql可以使用union实现全连接;

select * from A left join B on A.id = B.id
union
select * from A right join B on A.id = B.id;

【Mysql数据库】终于搞懂了左连接、右连接、内连接、全连接_第7张图片

你可能感兴趣的:(MySQL,Mysql数据库,左连接与右连接,全连接,join,on,数据库)