图解数据库左连接、右连接、内连接、外连接、全连接的区别
创作时间:
作者:
@小白创作中心
图解数据库左连接、右连接、内连接、外连接、全连接的区别
引用
CSDN
1.
https://blog.csdn.net/qq_27184497/article/details/119672665
在数据库查询中,连接(Join)是一种常用的操作,用于从多个表中获取数据。不同的连接方式(如内连接、外连接、左连接、右连接和全连接)会根据特定的条件返回不同的结果集。本文将通过具体的SQL语句和示例数据表,详细解释这些连接方式的区别。
数据库连表方式
内连接:
INNERINNER JOIN外连接:
OUTER JOIN左外连接:
LEFT OUTER JOIN左连接:
LEFT JOIN右外连接:
RIGHT OUTER JOIN右连接:
RIGHT JOIN全连接:
FULL JOINUNION
准备
现在有2张表,A表和B表,数据和表结构如下:
内连接
内连接查询的是两张表的交集,也就是说只有当A表和B表中都存在匹配的数据时,才能查询出来。
以下三个查询的结果是一样的,针对上面的表数据,能查询出id为1、2、3的数据:
-- 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的数据:
-- 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的数据:
-- 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;
全连接
全连接显示两侧表中所有满足检索条件的行。
Oracle的全连接
Oracle的全连接查询可以直接使用FULL JOIN:
SELECT * FROM A FULL JOIN B ON A.id = B.id;
MySQL的全连接
MySQL中没有FULL JOIN,可以通过UNION实现全连接:
SELECT * FROM A LEFT JOIN B ON A.id = B.id
UNION
SELECT * FROM A RIGHT JOIN B ON A.id = B.id;
热门推荐
荒野大镖客2春田用的什么子弹,春田枪械子弹规格说明
酒可以托运吗?一篇文章讲解酒类物品携带与托运规定
返乡过年想带酒?先了解这些携带规定吧!
必知!马来西亚留学签证加急办理技巧
月亮的别称和雅称,中秋之夜聊明月
“静”享健康丨气候干燥时,干眼症患者如何正确防护→
熵与熵产生率:揭示系统无序与能量耗散的核心关系
小客户的管理法有哪些
如何化解感情中的矛盾和冲突?
房贷利率大幅下调,购房者迎来实惠
心理科普 | 依赖型人格
心理科普 | 依赖型人格
云服务器上的数据隐私保护措施
移民美国后的社交生活指南:如何在新环境中建立连接
拟录取后怎么知道正式录取,拟录取后一般多久发通知书?
奇迹背后,中国动画百年路的文化觉醒与突围
非洲猪瘟快速检测仪:了解疫病流行趋势,评估疫情控制效果
减肥期间补充维生素B族有什么用?
太阳星入命宫:紫微斗数中的核心命理组合
健康长寿的体态特征探秘
广西玉林福绵:“世界裤都”向“时尚之都”迈进
曼联新主场计划引发争议:20亿投资与球迷心声的碰撞
恢复浏览器删除的记录
词牌名是什么?揭秘词牌背后的故事
大拇指抽动怎么回事
足球比赛战术演变与创新应对策略分析及发展趋势探讨
机械键盘轴体更换与清洁维护教程
闲鱼Pro版商品分类管理指南:让您的闲鱼店铺井井有条
如何辨别合同公章真伪?这些实用方法请收好
不按时还房贷会怎样?这些后果需警惕