Oracle数据库合并列名相同的多表以生成指定输出的方法
在Oracle中合并两个结构相同的表数据
嘿,要合并这两个结构完全一致的表并输出所有原始数据,最直接高效的方法就是用UNION ALL操作符——它会直接把两个表的查询结果拼接在一起,不会自动去重(完美匹配你需要保留所有行的需求)。
具体SQL语句:
SELECT id, name, gender FROM Table1 UNION ALL SELECT id, name, gender FROM Table2;
为什么选UNION ALL而非UNION?
如果用UNION的话,它会自动去除两个结果集中的重复行,但从你的示例输出来看,你需要保留所有原始记录(哪怕未来两个表出现重复字段值的情况)。另外,UNION ALL的执行效率比UNION更高,因为省去了去重的额外计算步骤。
执行这条SQL后,你就能得到和示例完全一致的输出:
id | name | gender
1 | ABC | M
2 | CDE | M
3 | FGH | M
4 | BAC | F
5 | DCE | F
6 | GFH | F
内容的提问来源于stack exchange,提问作者harry




