写在前面:
数据库连接操作非常重要,明确连接操作有助于更好地掌握SQL语句查询。
数据库连表方式:
内连接 :inner join
外连接 :outer join
左外连接 :left outer join
左连接 :left join
右外连接 right outer join
右连接: right join
全连接 full join 、union
前提准备
现在有2张表,A表和B表,数据和表结构如下:
一、内连接
内连接查询的是两张表的交集,也就是A表和B表都必须有数据才能查询出来;
以下三个查询的结果是一样的,针对上面的表数据,能查询出id为1、2、3数据的SQL语句为:
-- join
select * from A join B on A.id = B.id
-- inner join
select * from A inner join B on A.id = B.id
-- 逗号的连表方式就是内连接
select * from A , B where A.id = B.id
二、左外连接和左连接
左外连接和左连接是以左表为基础,根据ON后给出的两表的条件将两表连接起来。结果会将左表所有的查询信息列出,而右表只列出ON后条件与左表满足的部分。左连接全称为左外连接,是外连接的一种。
下面2个查询的结果是一样的,针对上面的表数据,能查询出id为1、2、3、4数据的SQL语句为:
-- left join
select * from A left join B on A.id = B.id
-- left outer join
select * from A left outer join B on A.id = B.id
三、右外连接和右连接
右外连接和右连接是以右表为基础,根据ON后给出的两表的条件将两表连接起来。结果会将右表所有的查询信息列出,而左表只列出ON后条件与右表满足的部分。右连接全称为右外连接,是外连接的一种。
下面2个查询的结果是一样的,针对上面的表数据,能查询出id为1、2、3数据的SQL语句为:
-- right join
select * from A right join B on A.id = B.id
-- right outer join
select * from A right outer join B on A.id = B.id
四、全连接
全连接显示两侧表中所有满足检索条件的行。
SQL语句为:
select * from a left join b on a.id = b.id
union
select * from a right join b on a.id = b.id
五、总结
1.内连接与外连接的区别是什么?
内连接和外连接的区别:
内连接:inner join(等值连接) 只返回两个表中联结字段相等的数据。
外连接:返回包括左/右表中的所有记录和右/左表中联结字段相等的记录。
2.左外连接和右外连接的区别是什么?
左外连接和右外连接的区别:
左外连接也称左连接。以左表为基表,在FROM子句中使用关键字“LEFT OUTER JOIN”或关键字“LEFT JOIN”来连接两张表。
右外连接也称右连接。以右表为基表,在FROM子句中使用关键字“RIGHT OUTER JOIN”或关键字“RIGHT JOIN”来连接两张表。
3.概括
1.内连接就是取交集的部分。
2.左连接就是左表全部的数据加上交集的数据。
3.右连接就是右表全部的数据加上交集的数据。
4.交叉连接就是数据全都要。
引用
[1]数据库内、外、左、右连接详解
[2]数据库内、外、左、右连接详解
[3]https://zhuanlan.zhihu.com/p/258482556
今天的文章数据库的左外连接、右外连接_oracle左连接和右连接的区别分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/71268.html