news 2026/4/25 21:28:27

MySQL 知识点复习- 5. UNION

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MySQL 知识点复习- 5. UNION

基本语法结构

SELECT column1, column2 FROM table1 UNION SELECT column1, column2 FROM table2;
  1. 列数要求
    所有SELECT语句的列数必须完全一致,否则会触发语法错误。

  2. 列名规则
    最终结果集的列名以第一个SELECT语句中的列名为准,后续语句的列名不影响输出。

UNION 与 UNION ALL 的区别

  • UNION:合并结果集并自动去除重复记录。
  • UNION ALL:合并结果集并保留所有记录(包括重复项)。

示例 1: 使用 UNION 合并用户和产品名称
SELECT name FROM users UNION SELECT product_name FROM products;

结果集示例

name
Alice
Bob
Laptop
Phone
示例 2: 使用 UNION ALL 合并员工薪资(含重复)
SELECT name, salary FROM employees UNION ALL SELECT name, salary FROM contractors;

结果集示例

namesalary
Alice5000
Bob6000
Alice5000
Carol5500

结果集排序规则

  • ORDER BY需置于最后一个 SELECT 语句后,对整个结果集生效。
示例 3: 合并学生和教师年龄并降序排序
SELECT name, age FROM students UNION SELECT name, age FROM teachers ORDER BY age DESC;

结果集示例

nameage
Bob45
Alice30
Carol25
关键注意事项
  • 所有 SELECT 语句的列数必须一致。
  • 对应列的数据类型应兼容。
  • UNION会隐式去重,可能增加性能开销;明确不需要去重时优先使用UNION ALL
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!