作者简介:
小曾同学.com,一个致力于测试开发的博主⛽️,主要职责:测试开发、CI/CD
如果文章知识点有错误的地方,还请大家指正,让我们一起学习,一起进步。
座右铭:不想当开发的测试,不是一个好测试✌️。
如果感觉博主的文章还不错的话,还请点赞、收藏哦!
数据库连接是为了在不同的表中提取我们需要的信息,并将这些信息匹配在一起,达到精简的效果。
那么,如何提取我们需要的信息呢,数据库提供了多种连接方式,其中包括内连接、外连接、全连接,外连接又分为左连接、右连接。
- 表示两表或多个表的交集
- 有两种写法:
inner
、inner join
outer join
,
- 左连接或左外连接:
left join
或者left outer join
- 右连接或右外连接:
right join
或者right outer join
- 关键字:
full join
(oracle)、union
(mysql)
现有两张表A表、B表
内连接查询的是两张表或者多个表的交集,也就是两张表的公共部分。
内连接查询结果
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
左连接也称为左外链接,是将左表和左右表交集的组合。
左连接以左表为基础,根据on 后给出的条件将两表连接起来,最终的结果会将左表所有的信息列出,而右表只列出on条件与左表满足的部分,其余部分为空。
select * from A left join B on A.id = B.id;
右连接也称为右外链接,是将右表和左右表交集的组合。
右连接以右表为基础,根据on 后给出的条件将两表连接起来,最终的结果会将右表所有的信息列出,而左表只列出on条件与右表满足的部分,其余部分为空。
select * from A right join B on A.id = B.id;
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;