关于Unique Join左表存在重复值时返回结果的疑问
问题分析
现有以下两张表:
Table A
| Key1 | Key2 | Value1 |
|---|---|---|
| key1_1 | key2_1 | value1 |
| key1_1 | key2_2 | value2 |
Table B
| Key3 | Value2 |
|---|---|
| key1_1 | value3 |
当基于Key1与Key3执行Unique Join时,正确结果是返回一行结果,对应选项2。
Unique Join的核心规则是要求连接键的匹配逻辑需覆盖两张表的唯一性约束:Table B的Key3是唯一值(仅一条key1_1),而Unique Join会以连接键的唯一匹配为基准,将Table A中同Key1的多条记录与Table B的唯一记录进行聚合合并,最终输出一条包含匹配结果的记录,而非保留Table A的原始行数。
你提到的文档描述是准确的,这种场景下不会因为Table A是流形式就返回多行——流形式只是数据的输入方式,Unique Join的逻辑会确保结果符合唯一匹配的约束,而非简单地对流表做逐行匹配。
内容的提问来源于stack exchange,提问作者JohnFF
相关产品推荐
相关产品推荐

