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

INTERSECT子句异常行为:交集与EXCEPT结果矛盾问题排查

问题根源:重复记录导致的统计差异

这种矛盾现象的核心原因是两张表存在重复行,而非存在不同的唯一记录:

  • INTERSECT和EXCEPT都是基于去重后的数据进行计算的:
    • INTERSECT返回的是两张表中都存在的唯一记录,所以得到5000条,说明两张表的唯一值集合完全一致。
    • 你看到的5005条是两张表的总记录数(含重复),多出的5条是某一张或两张表中存在的重复行,而非和另一张表不同的记录。
  • EXCEPT会返回在左表存在但右表不存在的唯一记录,由于两张表的唯一值集合完全相同,所以两个方向的EXCEPT都不会返回结果。

验证步骤

  1. 查看两张表的去重后记录数:
    SELECT COUNT(DISTINCT *) FROM Table1;
    SELECT COUNT(DISTINCT *) FROM Table2;
    
    这两个结果应该相等,且等于INTERSECT返回的5000条。
  2. 计算重复记录总数:
    用两张表的总记录数之和,减去2 * 5000,结果就是多出的5条,这部分就是重复行的数量。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 18:02:38