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

PostgreSQL按主键合并表:仅合并t2中与t1主键匹配的行

解决方案:合并指定条件的两张同结构表

可以通过UNION ALL结合子查询筛选来实现需求,核心SQL语句如下:

SELECT * FROM t1
UNION ALL
SELECT * FROM t2 WHERE id IN (SELECT id FROM t1);

语句说明

  • SELECT * FROM t1:直接获取t1的所有行,满足结果包含t1全部数据的要求
  • UNION ALL:用于合并两个结果集,和UNION不同,它不会自动去重,正好保留t1和t2中同id的重复行(比如示例中的id=5)
  • SELECT * FROM t2 WHERE id IN (SELECT id FROM t1):通过子查询筛选出t2中主键id存在于t1的行,只保留符合条件的t2数据

验证示例

代入你提供的示例数据后,执行上述语句会得到如下结果:

idABC
1xxrg
2ccrg
5dge
5yjkuu

完全匹配你期望的合并结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 12:28:20