温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

UNION在SQL中怎么用

发布时间:2026-10-07 04:30:21 来源:亿速云 阅读:90 作者:小樊 栏目:数据库

在 SQL 中,UNION 用于把多个 SELECT 查询的结果合并成一个结果集。


一、基本用法

SELECT 列1, 列2
FROM 表A
UNION
SELECT 列1, 列2
FROM 表B;

使用条件

  1. 每个 SELECT 的列数必须相同
  2. 对应列的数据类型要兼容
  3. 列名以第一个 SELECT 为准

二、UNION 和 UNION ALL 的区别

✅ UNION(默认)

  • 去重
  • 性能稍慢(需要去重)
SELECT name FROM students
UNION
SELECT name FROM teachers;

✅ UNION ALL

  • 不去重
  • 性能更好
SELECT name FROM students
UNION ALL
SELECT name FROM teachers;

三、示例

示例 1:合并两张表

SELECT id, name FROM user_a
UNION
SELECT id, name FROM user_b;

示例 2:带条件

SELECT product FROM orders WHERE amount > 100
UNION
SELECT product FROM returns;

示例 3:排序(只对最终结果排序)

SELECT name FROM table_a
UNION
SELECT name FROM table_b
ORDER BY name;

四、常见错误

❌ 列数不一致:

SELECT id FROM a
UNION
SELECT id, name FROM b;  -- 错误

❌ 类型不兼容:

SELECT id FROM a
UNION
SELECT name FROM b;  -- 可能报错

五、使用场景

  • 合并历史表 / 分表数据
  • 多角色用户统一查询
  • 日志、订单、消息等结构相似的数据

如果你有具体表结构或业务场景,我可以帮你写更合适的 SQL。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手