数据库四种JOIN联合查询类型详解
创作时间:
作者:
@小白创作中心
数据库四种JOIN联合查询类型详解
引用
CSDN
1.
https://m.blog.csdn.net/wkj001/article/details/144900699
数据库的JOIN操作是数据查询中非常重要的一部分,它允许我们从多个表中获取数据。本文将详细介绍四种常见的JOIN类型:内连接(Inner Join)、左连接(Left Join)、右连接(Right Join)和全外连接(Full Outer Join)。
内连接(Inner Join)
内连接返回两个表中都有匹配关系的数据。例如,在用户表和订单表中,只有那些在两张表中都存在的user_id才会出现在查询结果中。比如,user_id为123和124的记录会被返回,而user_id为125的记录因为在订单表中没有匹配到对应的order_id,所以不会出现在结果中。内连接的语法是:
SELECT * FROM user_table a INNER JOIN order_table b ON a.user_id = b.user_id
左连接(Left Join)
左连接会返回左表中的所有记录,即使在右表中没有匹配到对应的值。比如在用户表和订单表的连接中,即便用户id为125在订单表中没有对应的记录,它仍然会被包含在结果中,订单id的值则显示为null。左连接的语法是:
SELECT * FROM user_table a LEFT JOIN order_table b ON a.user_id = b.user_id
这种类型的join适用于需要保留左表所有数据,同时查询出右表可能存在的匹配记录的场景。
右连接(Right Join)
右连接与左连接相反,会返回右表中的所有记录,即便左表中没有匹配的值。在图中,user_id为125虽然在用户表中没有记录,但因为它在订单表中存在,依旧会被显示,用户的名称为null。其语法为:
SELECT * FROM user_table a RIGHT JOIN order_table b ON a.user_id = b.user_id
全外连接(Full Outer Join)
全外连接会返回两个表中所有的记录,不论是否有匹配的值。如果某个表中有对应的数据,但在另一个表中没有匹配到,该字段将显示为null。全外连接的语法为:
SELECT * FROM user_table a FULL OUTER JOIN order_table b ON a.user_id = b.user_id
这种类型的join适用于你想要查看所有可能组合的情况,包括不匹配的记录。
图形化理解
为了更直观地理解这四种JOIN类型,我们可以用数学集合的概念来类比:
热门推荐
海国志丨特鲁多辞职、特朗普就职……回顾2025年1月全球热点事件
解锁记忆之谜:大小鼠新物体识别实验全解析
商业保险怎么买 四大基础险种构建立体保障
五行属土女孩起名宜用字最新款118个
宝宝名字大全:带“若”字的名字寓意解析与推荐
香砂平胃丸和香砂养胃丸区别有什么
香砂平胃丸和香砂养胃丸区别有什么
仁德为基:刘备建立蜀汉的王道之术
如何取消浏览器在最前端:多种实用解决方案
看见长沙 |开福区:“北丐”变身“北富” 溯源开福蝶变之路
专家解读:胃癌免疫治疗药物“信迪利单抗”纳入医保,对胃癌免疫治疗领域的影响
业主委员会职责和权力相关法条研究
乙肝五项25阳性是什么意思?医生专业解读
日本又成“异类”!1月大米价格同比暴涨超过80%
探究翡翠一念成佛一念成魔:真伪与背后的哲理
烟草专业课程设置及培养目标详解
中小学教师教学在线评估系统
胶原蛋白流失垮脸怎么补?可通过医美/运动及食疗改善,而医美改善更快
王近山:定陶战役一战成名,一生崇拜四个人,毛主席排在第一位
江苏是属于北方还是南方?分析江苏的地理与气候特点
票选「20代最爱」韩剧男演员TOP10!李到晛第10,冠军是他!
深圳鹏安驾校同一课程收费不一!涉嫌多收1400元?
痛风人群注意了!预防痛风石,关键是做好这8件事
降糖药疗效与年龄有关?JAMA:合理用药,降糖又护心
单位调岗3个前提条件,需遵循否则违法,但有例外情形!
高血压患者预防心脏病宝典
孩子被打成轻伤该如何要求赔偿?
《角头:大桥头》:一日为父(老大),终身为父(老大)
什么是燃油附加费?调整又基于哪些因素?一文科普
“盖亚之谜”的科学解释