数据库四种JOIN联合查询类型详解,秒懂数据库查询
创作时间:
作者:
@小白创作中心
数据库四种JOIN联合查询类型详解,秒懂数据库查询
引用
CSDN
1.
https://m.blog.csdn.net/wkj001/article/details/144900699
数据库四种JOIN联合查询类型详解,秒懂数据库查询
1. 内连接(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;
2. 左连接(Left Join)
左连接会返回左表中的所有记录,即使在右表中没有匹配到对应的值。比如在用户表和订单表的连接中,即便用户id为125在订单表中没有对应的记录,它仍然会被包含在结果中,订单id的值则显示为null。左连接的语法是:
SELECT * FROM user_table a LEFT JOIN order_table b ON a.user_id = b.user_id;
这种类型的JOIN适用于需要保留左表所有数据,同时查询出右表可能存在的匹配记录的场景。
3. 右连接(Right Join)
右连接与左连接相反,会返回右表中的所有记录,即便左表中没有匹配的值。在图中,user_id为125虽然在用户表中没有记录,但因为它在订单表中存在,依旧会被显示,用户的名称为null。其语法为:
SELECT * FROM user_table a RIGHT JOIN order_table b ON a.user_id = b.user_id;
4. 全外连接(Full Outer Join)
全外连接会返回两个表中所有的记录,不论是否有匹配的值。如果某个表中有对应的数据,但在另一个表中没有匹配到,该字段将显示为null。全外连接的语法为:
SELECT * FROM user_table a FULL OUTER JOIN order_table b ON a.user_id = b.user_id;
这种类型的JOIN适用于你想要查看所有可能组合的情况,包括不匹配的记录。
关键是下面的图片,更直观,有点数学 子集,交集,全集的概念
热门推荐
《二十一天》爆红:王志文领衔演绎灾难下的生存与人性考验
王志文:台词之神的大满贯传奇
二胎家庭如何避免偏心伤害孩子?
《请回答1988》里的家庭偏爱,你家也有吗?
父母偏心,兄弟姐妹如何破冰?
《都挺好》里的家庭偏爱:你家也有吗?
王健林:从军人到商业地产巨擘的传奇人生
工厂工资改革:提升企业绩效的关键举措
月薪制下的职场幸福感:制度、心理与改善之道
离异家庭孩子有赡养父母义务吗
赡养老人协议怎样写
糖醋萝卜的腌制方法(糖醋萝卜的腌制方法窍门)
足金、K金、3D硬金、5G黄金、古法黄金……一次说清楚
领导者的高效沟通技巧大揭秘!
《胜任:驾驭职场晋升的8大挑战》:提升职场沟通的实用指南
职场沟通技巧:助你成为办公室人气王!
《好感话术》:用心理学原理提升职场沟通效率
寒冬来袭,如何告别 “冰块人”?您的养阳攻略请查收
牛肉烹饪全攻略:从选材到出锅的完美指南
黄金5G工艺是什么意思
雍正改遗诏篡位?《野史未必假》为你揭秘真相
原神 V4.7角色攻略 | 希格雯数据计算 机制玩法百科全书
从“雷先”到“辰”:中国名字里的文化传承
“雷先”:一个名字背后的文化故事
展望:2025传媒业十大趋势
殷墟博物馆:打造殷墟甲骨文中华文化新地标
喝水少会影响孩子长高?这份补水指南请收好
协和医生提醒:科学补水助力儿童健康成长
儿科专家揭秘:如何科学助力孩子长高?
金钱、垃圾和风险:尼泊尔的珠峰商业化冒险