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

SQL中连接操作产生额外行的专业术语是什么?

SQL连接中生成额外行的专业术语

当在两张表/查询之间进行连接时:

with 
cte1 (id) as (
select 1 from dual),
cte2 (id) as (
select 1 from dual union all
select 1 from dual)


select
    cte1.id as cte1_id,
    cte2.id as cte2_id
from
    cte1
left join 
    cte2
    on cte1.id = cte2.id

-- 查询结果:
-- CTE1_ID   CTE2_ID
--       1         1
--       1         1

不出所料,该连接生成了额外的行。连接左侧的查询原本只有1行,但由于连接操作,结果集变成了2行。


这种场景的专业术语是行膨胀(Row Explosion),也可称之为笛卡尔积式行扩增——本质是当关联条件匹配多行时,左侧的每一行会与右侧所有匹配行进行组合,最终导致结果集行数远超原表行数,这就是行膨胀的典型表现。

你给新手讲解时用的“1:多连接导致额外行”是很直观的表述,专业语境下用“行膨胀”来描述这种结果集行数大幅增加的现象最为准确。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 18:30:54