合并多个结果集的常用方法取决于你使用的数据库类型或编程语言。下面按常见场景给你总结一下。
UNION(去重)SELECT col1, col2 FROM table1
UNION
SELECT col1, col2 FROM table2;
特点:
UNION ALL(不去重,推荐)SELECT col1, col2 FROM table1
UNION ALL
SELECT col1, col2 FROM table2;
特点:
SELECT col1, col2 FROM table1
UNION ALL
SELECT col1, col2 FROM table2
ORDER BY col1;
⚠️ ORDER BY 只能放在最后
SELECT id, name, 'user' AS type FROM users
UNION ALL
SELECT id, title, 'article' FROM articles;
| 数据库 | 是否支持 UNION |
|---|---|
| MySQL | ✅ |
| PostgreSQL | ✅ |
| SQL Server | ✅ |
| Oracle | ✅ |
Oracle 示例:
SELECT a FROM t1
UNION ALL
SELECT b FROM t2;
result = list1 + list2
import pandas as pd
df = pd.concat([df1, df2], ignore_index=True)
List<Result> all = new ArrayList<>();
all.addAll(list1);
all.addAll(list2);
❌ 列数不一致
❌ 数据类型不一致
❌ 忘记 UNION ALL 导致性能差
❌ 在子查询中加 ORDER BY
我可以直接帮你写完整 SQL ✅
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。