什么是内连接、外连接、交叉连结、笛卡尔积?
创作时间:
作者:
@小白创作中心
什么是内连接、外连接、交叉连结、笛卡尔积?
引用
CSDN
1.
https://blog.csdn.net/qq_41840843/article/details/139465346
在数据库查询中,连接(Join)是一种用于将两个或多个表中的行联合起来的操作。在实际应用中,常见的连接类型包括内连接、外连接、交叉连接以及全外连接,每种连接类型都有其独特的特点和用途。
1、内连接(Inner Join)
内连接是连接操作中最常见的一种类型。它只返回两个表中在连接条件下匹配的行。简而言之,内连接只包含那些在两个表中都存在匹配值的行。
SELECT a.*, b.*
FROM table1 AS a
INNER JOIN table2 AS b ON a.key = b.key;
2、左外连接(Left Outer Join)
左外连接会返回左表中的所有行,以及右表中与左表中行匹配的行。如果右表中没有匹配的行,那么结果集中右表对应的列将包含 NULL 值。
SELECT a.*, b.*
FROM table1 AS a
LEFT JOIN table2 AS b ON a.key = b.key;
3、右外连接(Right Outer Join)
右外连接与左外连接类似,不过它返回的是右表中的所有行,以及左表中与右表中行匹配的行。如果左表中没有匹配的行,那么结果集中左表对应的列将包含 NULL 值。
SELECT a.*, b.*
FROM table1 AS a
RIGHT JOIN table2 AS b ON a.key = b.key;
4、全外连接(Full Outer Join)
全外连接返回两个表中的所有行,不管另外一边的表中是否存在与它们匹配的行。如果某一边的表中没有匹配的行,那么结果集中对应的列将包含 NULL 值。
SELECT a.*, b.*
FROM table1 AS a
FULL OUTER JOIN table2 AS b ON a.key = b.key;
5、交叉连接(Cross Join)
交叉连接是一种特殊的连接,它返回两个表的笛卡尔积,即两个表中的每一行都与另一个表中的每一行组合在一起。交叉连接不使用任何匹配或者选取条件。
SELECT a.*, b.*
FROM table1 AS a
CROSS JOIN table2 AS b;
热门推荐
如何进入PE系统必备技巧:轻松掌握一步到位教程
中医经典方剂——逍遥丸
都是膨松剂:酵母、小苏打和泡打粉区别,消除困惑,做面食不求人
如何做好一场半马的备战?
路边碰到这种带刺的野菜不要手软 挖一筐凉拌做汤香得很
如何进行黄金投资的资产配置
糙米与什么一起吃好?糙米什么人不能吃?
顺风车拼车的策略有哪些?这些策略如何提高拼车效率?
什么是市集?:从起源到现代发展的全面解析
刑事律师与当事人或家属首次会谈全流程指南:专业服务从这开始
罚款滞纳金的计算方法是什么?如何避免滞纳金累积?
77㎡ 刚需小户型大爆改,阳台秒变阳光书房,玩转空间利用!
实木家具裂口修复全攻略:从修复到保养的实用指南
自动化智能化推动新能源汽车专业人才需求走高
家庭教育游戏化:如何通过游戏激发孩子学习兴趣
兰花开花小香味淡和这三个原因有关系,做好了花多花大暗香浮动!
抓住运动瞬间:高速连拍的摄影秘诀与应用技巧
换个角度思考:从基础方法到思维升级的系统性解决方案
移民加拿大还是澳大利亚好?全面对比分析汇总!
如何学会背诵文言文:实用技巧与方法
如何优化企业网站内容(打造高质量内容)
金陵十二钗之间有何联系?她们和贾宝玉又有什么关系?
红楼梦中宝钗是个可怜人?为何这么说?
蔬菜水煮还是生吃好?这4种适合生吃、6种煮过更营养
王者荣耀上官婉儿怎么出装 上官婉儿铭文出装搭配推荐
买电脑注重CPU还是显卡?两者重要性及选择指南
一个水银温度计碎了毒性大吗
库里、魔术师、斯托克顿:谁才是统治NBA的控球后卫之王?
高效数据库设计:InnoDB索引的最佳实践与B+树详解
冠军赛车,“中国造”,燃!