You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求协助理解两张表执行Inner Join与Right Outer Join后的结果

嘿,这就帮你把这两种连接操作的结果拆解清楚~

内连接(Inner Join)结果解析

内连接的核心逻辑很直白:只保留两张表中关联字段(这里是ID)完全匹配的行,而且会把匹配到的行做笛卡尔积组合——说白了就是左表中每个匹配的行,都要和右表中每个匹配的行配对一次。

你的两张表ID全是1,所以所有行都能匹配上。执行内连接后的结果如下:

IDColumn AColumn B
1AD
1AE
1AF
1BD
1BE
1BF
1CD
1CE
1CF

总共是左表3行 × 右表3行 = 9行数据,每一行都是两组数据的合法配对。

右外连接(Right Outer Join)结果解析

右外连接的核心是以右表(这里是表2)为绝对基准:不管左表有没有匹配的行,右表的所有行都必须保留;左表中能找到匹配ID的行,就和右表的行组合;如果左表找不到对应ID,那左表的字段就会显示为NULL。

在你的案例里,两张表的ID都是1,右表的每一行都能在左表找到匹配项,所以结果和内连接完全一致:

IDColumn AColumn B
1AD
1AE
1AF
1BD
1BE
1BF
1CD
1CE
1CF

举个更直观的反例:如果表2新增一行ID=2, Column B=G,那右外连接的结果里会多出来这样一行:

IDColumn AColumn B
2NULLG

这就能明显看出右外连接“优先保留右表所有数据”的特性啦~

内容的提问来源于stack exchange,提问作者PHegde

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.27 14:57:28