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

不使用表连接和子查询如何筛选匹配table1 ID的table2全量信息

实现方案

核心前提利用

Table2所有非ID列取值完全一致,不需要关联匹配即可直接复用全局唯一的非ID列值。

实现逻辑

  • 用标准SQL的集合差集运算EXCEPT直接取出Table1存在、Table2不存在的ID,避免使用表连接或子查询做存在性判断
  • 直接通过聚合函数取Table2非ID列的全局唯一值(所有行值相同,MAX/MIN运算结果和原值完全一致),补全返回需要的全部列

可执行SQL语句

通用兼容写法(仅含极简单标量子查询,无表连接无嵌套业务子查询)

SELECT
  id,
  -- 其他非ID列均按照 MAX(列名) 的格式补充即可
  (SELECT MAX(account_name) FROM Table2) AS account_name
FROM Table1
EXCEPT
SELECT
  id,
  (SELECT MAX(account_name) FROM Table2) AS account_name
FROM Table2

完全无任何子查询写法

提前执行一次查询获取Table2非ID列的固定值(因为所有行取值一致,只需查询任意一行即可),直接作为常量写入查询语句:

-- 示例为提前查询到account_name固定为'ABC'的场景
SELECT id, 'ABC' AS account_name FROM Table1
EXCEPT
SELECT id, 'ABC' AS account_name FROM Table2

结果验证

针对示例数据,两种写法返回的结果均为ID为3、8,account_name为ABC的两条记录,完全匹配期望输出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 01:06:08