MySQL 知识点复习- 5. UNION
2026/7/23 1:04:10 网站建设 项目流程

基本语法结构

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询