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

基于含重复值的给定数据集,求Inner、Left、Right、Full Join的行数

自连接操作后的行数计算(连接条件:Col1 = Col2)

原表基础统计

以下计算基于该表与自身进行连接,连接条件为 a.Col1 = b.Col2。原表共11行,各字段值的出现频次:

  • Col1 频次:1(1次)、2(1次)、3(3次)、4(2次)、5(1次)、6(2次)、7(1次)
  • Col2 频次:1(2次)、2(3次)、4(1次)、6(1次)、7(1次)、8(2次)、9(1次)

各连接结果行数

1. Inner Join(内连接)

只保留左右表能匹配的行,计算所有匹配组合的数量:

  • Col1=1 匹配 Col2=1 的2行 → 1×2=2行
  • Col1=2 匹配 Col2=2 的3行 →1×3=3行
  • Col1=4 匹配 Col2=4 的1行 →2×1=2行
  • Col1=7 匹配 Col2=7 的1行 →1×1=1行
  • 其余Col1值(3、5、6)在Col2中无对应值,贡献0行
    总行数:2+3+2+1=8行

2. Left Join(左连接)

保留左表所有行,右表匹配不到则补NULL。行数为左表每行的匹配数之和(匹配不到的行算1行):

  • Col1=1:2行;Col1=2:3行;Col1=3:3行(无匹配,保留原3行);Col1=4:2行;Col1=5:1行;Col1=6:2行;Col1=7:1行
    总行数:2+3+3+2+1+2+1=14行

3. Right Join(右连接)

保留右表所有行,左表匹配不到则补NULL。行数为右表每行的匹配数之和(匹配不到的行算1行):

  • 右表中Col2=2的3行:每行匹配1行 →3×1=3行
  • Col2=1的2行:每行匹配1行 →2×1=2行
  • Col2=4的1行:匹配2行 →1×2=2行
  • Col2=6的1行:匹配2行 →1×2=2行
  • Col2=7的1行:匹配1行 →1×1=1行
  • Col2=8的2行:无匹配,保留2行;Col2=9的1行:无匹配,保留1行
    总行数:3+2+2+2+1+2+1=13行

4. Full Join(全连接)

保留左右表所有行,匹配不到的一侧补NULL。行数=左连接行数 + 右连接行数 - 内连接行数(去除重复的匹配行):
总行数:14+13-8=19行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 12:17:40