图解数据库左连接、右连接、内连接、外连接、全连接的区别
创作时间:
作者:
@小白创作中心
图解数据库左连接、右连接、内连接、外连接、全连接的区别
引用
1
来源
1.
https://www.coonote.com/mysql-note/left-right-outer-join.html
数据库连表方式
内连接:
inner
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的数据:
-- 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,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
热门推荐
甜椒的功效与作用 甜椒的食用方法
烤箱安全盘:您需要了解的知识
皮带扣断裂的原因是什么?如何解决这个问题?
四川成都琉璃厂出土大量五代至宋元瓷器
家庭烘焙工具清单推荐:新手必备器材选购指南
蛋糕制作攻略:从原料筹备至分享喜悦的完整体验
肠道管状腺瘤是良性的吗
清明节必读的16首经典诗词,不能只会“清明时节雨纷纷”
初学者必看!从零开始制定你的专属健身计划
5G 手机流量消耗之谜:真相与节省策略探讨
AK47的性能怎么样?有比AK47性价比更高的步枪么?
FPGA-VIVADO学习:使用D触发器和计数器实现LED灯闪烁
台式电脑没有网络?三种方法轻松连接手机热点
汽车备件库存如何管理的
INFP:理想主义者内心世界及沟通挑战(含应对策略)
高冈市在日本哪里
持股存在哪些风险?这些风险如何进行分析和应对?
如何在投资领域做出明智的决策?这些投资决策的实施需要注意哪些问题?
如何通过饮食减脂并保持营养均衡
云安区乡村电商特训班开班:AI赋能助力乡村振兴
预防心血管疾病的二大法宝阿司匹林与他汀。定期复查的七项内容。
数据仓库如何设计分层管理
孕期坐骨神经痛怎么办快速缓解
灭火器的有效期是几年?到底要不要年检?
运动对心理健康的积极影响
LPL网友投票战队评级:WE跻身前五,TES仅获3.9分
kube-proxy中使用IPVS与iptables的比较
北大学生透露,韦东奕做事有原则,上课从不拖堂听到下课铃声就走
轮胎周长的计算方法是什么?轮胎尺寸对车辆性能有何影响?
哈利波特人物性格分析:从MBTI类型到人物特质