SQL UNION 操作符

SQL UNION 操作符

SQL UNION 操作符用于合并两个或多个 SELECT 语句的结果集。它将多个结果集组合成一个单独的结果集,并去除重复的行。为了使用 UNION,每个 SELECT 语句必须具有相同的列数,并且对应列的数据类型必须兼容。

语法

sql 复制代码
SELECT column_name(s) FROM table1
WHERE condition
UNION
SELECT column_name(s) FROM table2
WHERE condition;

示例

假设我们有两个表,employees_us 和 employees_eu,它们分别存储美国和欧洲的员工信息。这两个表都有相同的结构,包括 id、name 和 department 列。

sql 复制代码
-- 查询美国和欧洲所有不同部门的列表
SELECT department FROM employees_us
UNION
SELECT department FROM employees_eu;

UNION 与 UNION ALL

  • UNION:默认行为,它会去除合并后的结果集中的重复行。
  • UNION ALL:不会去除重复行,只是简单地将所有结果合并在一起。它在性能上通常比 UNION 更好,因为它不需要额外的步骤来识别和去除重复行。

注意事项

  1. 列数和数据类型 :每个 SELECT 语句中的列数和数据类型必须相同。
  2. 结果集的列名 :结果集的列名将取自第一个 SELECT 语句。
  3. 排序 :UNION 结果集默认不保证排序,如果需要排序,应在最后一个 SELECT 语句后使用 ORDER BY。
  4. 性能 :UNION 通常比 UNION ALL 慢,因为它需要额外的步骤来去除重复行。

高级应用

  • 多个 UNION :可以连续使用多个 UNION 来合并多个结果集。
  • 子查询 :可以在 UNION 中使用子查询。
  • 联合不同表的列:只要最终结果集的列数和数据类型相同,就可以联合不同表的列。

总结

UNION 是 SQL 中一个非常有用的操作符,它允许我们合并多个查询的结果集,并去除重复的行。它对于需要从多个表中获取数据,但又不想显示重复信息的情况特别有用。通过理解 UNION 的基本用法和注意事项,可以更有效地利用它在 SQL 查询中的强大功能。

相关推荐
承渊政道2 小时前
【Python编程—从入门到实践】(让程序记得、恢复并解释失败:Python 文件、异常与JSON系统教程)
开发语言·python·pycharm·json·异常处理
一水鉴天2 小时前
声调韵的序:从古汉语音韵到系统科学语言的场效应推演 20261013(千问)
开发语言·人工智能
郭庆汝2 小时前
(六)MCP+A2A之——Playwright与BrowserUse:让AI学会像人类一样使用浏览器
开发语言·python
涉密IT资质笔记2 小时前
涉密资质投入产出分析模型:时间成本、四块成本构成与 ROI 决策框架
java·开发语言·算法
北风toto2 小时前
KMP 算法详解:从暴力匹配到 O(n+m) 的字符串搜索
java·开发语言·算法
william_yangshun2 小时前
WordCraft 观察:纯 Rust 重写文字处理器,把文档变成可编程对象
开发语言·后端·rust·文档自动化
dtq04242 小时前
C++ - 变量
开发语言·c++
撸串-研究生3 小时前
面向景区的综合服务管理平台设计——以稻城亚丁景区为例【附源码】
java·开发语言·vue.js·前后端分离·稻城亚丁景区
wuyk5553 小时前
样章-第03讲-FreeRTOS在16KB-RAM上的裁剪与陷阱
c语言·开发语言·stm32·单片机·嵌入式硬件·物联网·系统架构
kiros_wang3 小时前
网络状态监听&WiFi信息获取:弱网提示、断网兜底方案
开发语言·网络·php