在数据库或编程里,UNION 通常用来把多个查询/结果集合并成一个结果集。下面从最常见的 SQL 中的 UNION 讲起,再补充一点其他场景。
SELECT 列1, 列2
FROM 表A
UNION
SELECT 列1, 列2
FROM 表B;
✅ 要求:
SELECT 的列数相同SELECT 为准| 关键字 | 是否去重 | 性能 |
|---|---|---|
| UNION | ✅ 去重 | 较慢 |
| UNION ALL | ❌ 不去重 | 较快 |
-- 不去重(推荐,除非必须去重)
SELECT name FROM student
UNION ALL
SELECT name FROM teacher;
SELECT id, name FROM user_2023
UNION ALL
SELECT id, name FROM user_2024;
SELECT user_id AS id, 'user' AS type FROM users
UNION ALL
SELECT admin_id AS id, 'admin' AS type FROM admins;
❌ 列数不一致
SELECT a, b FROM t1
UNION
SELECT a FROM t2; -- 报错
❌ 类型不兼容
SELECT id FROM t1
UNION
SELECT name FROM t2; -- 可能报错
a = [1, 2]
b = [3, 4]
c = a + b
# 或
c = a.extend(b)
union Data {
int i;
float f;
};
⚠️ 这里的 union 是内存共用,不是结果集合并。
你是想:
告诉我你的使用场景或示例,我可以直接帮你写代码。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。