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

一、概念

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

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

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

二、案例演示

现有两张表A表、B表

A表
在这里插入图片描述
B表
在这里插入图片描述

2.1 内连接

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

在这里插入图片描述

内连接查询结果

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

在这里插入图片描述

2.2 左连接

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

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

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

在这里插入图片描述

2.3 右连接

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

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

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

在这里插入图片描述

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;

在这里插入图片描述

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐