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

使用Inner Join得到横向结果,如何实现指定纵向合并输出?

实现两张表的纵向合并并过滤指定ID

要实现你需要的纵向合并效果,不需要用INNER JOIN(横向拼接),而是用UNION ALL结合子查询过滤来完成,具体SQL语句如下:

SELECT id, date, department FROM employee
UNION ALL
SELECT id, date, department FROM employee_1
WHERE id IN (SELECT id FROM employee);

逻辑说明:

  1. 第一部分查询:直接获取employee表的所有数据,保留你需要的原始记录。
  2. 第二部分查询:通过WHERE id IN (SELECT id FROM employee)筛选出employee_1中与employee存在相同id的行,确保只保留符合条件的记录。
  3. UNION ALL:将两个查询的结果纵向拼接(上下堆叠),因为两张表的字段结构完全一致,所以可以直接合并。

结果验证:

执行上述语句后,会得到你期望的输出:

id       date         department
1    2022-09-09   professor  
2    2022-10-08   professor   
3    2022-10-11   professor   
3    2022-09-02   professor 
1    2021-09-09   professor
2    2021-10-08   professor
3    2021-10-11   professor
3    2021-09-02   professor

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 16:21:10