MYSQL UNION 操作符

UNION 操作符用于合并两个或多个 SELECT 语句的结果集。

请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。

MYSQL UNION 语法

SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2

注释:默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。

MYSQL UNION ALL 语法

SELECT column_name(s) FROM table_name1
UNION ALL
SELECT column_name(s) FROM table_name2

另外,UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。

下面的例子中使用的原始表:

Employees_China:

E_ID E_Name
01 Zhang, Hua
02 Wang, Wei
03 Carter, Thomas
04 Yang, Ming

Employees_USA:

E_ID E_Name
01 Adams, John
02 Bush, George
03 Carter, Thomas
04 Gates, Bill

使用 UNION 命令

实例

列出所有在中国和美国的不同的雇员名:

SELECT E_Name FROM Employees_China
UNION
SELECT E_Name FROM Employees_USA

结果

E_Name
Zhang, Hua
Wang, Wei
Carter, Thomas
Yang, Ming
Adams, John
Bush, George
Gates, Bill

注释:这个命令无法列出在中国和美国的所有雇员。在上面的例子中,我们有两个名字相同的雇员,他们当中只有一个人被列出来了。UNION 命令只会选取不同的值。

UNION ALL

UNION ALL 命令和 UNION 命令几乎是等效的,不过 UNION ALL 命令会列出所有的值。

SQL Statement 1
UNION ALL
SQL Statement 2

使用 UNION ALL 命令

实例:

列出在中国和美国的所有的雇员:

SELECT E_Name FROM Employees_China
UNION ALL
SELECT E_Name FROM Employees_USA

结果

E_Name
Zhang, Hua
Wang, Wei
Carter, Thomas
Yang, Ming
Adams, John
Bush, George
Carter, Thomas
Gates, Bill

最新文章

  1. cassandra的写过程
  2. Windows MDL原理总结
  3. 导入charts开源库到工程里面
  4. js 操作ASP.NET服务器控件
  5. HDU 2897 邂逅明下 (简单博弈,找规律)
  6. PHP面向对象(一)
  7. [NOIP2014]解方程
  8. C#。总结
  9. tar解压错误
  10. openNebula images
  11. 神马是AB測试?
  12. 一步步教你使用rem适配不同屏幕的移动设备
  13. Java 第二章 变量、数据类型和运算符
  14. 如何joomla修改版权信息
  15. SpriteBuilder中如何给精灵添加帧动画
  16. 30、进程的基础理论,并发(multiprocessing模块)
  17. 关于call_rcu在内核模块退出时可能引起kernel panic的问题
  18. static为什么一般与final一起用?
  19. POJ-1458 Common Subsequence(线性动规,最长公共子序列问题)
  20. 使用Eclipse搭建JavaWeb开发环境的几个基本问题

热门文章

  1. [剑指Offer] 35.数组中的逆序对
  2. 为Ubuntu安装SSH服务
  3. P3375【模板】KMP字符串匹配
  4. [洛谷P2604][ZJOI2010]网络扩容
  5. BZOJ 1023: [SHOI2008]cactus仙人掌图 | 在仙人掌上跑DP
  6. 洛谷 P2218 [HAOI2007]覆盖问题 解题报告
  7. BZOJ2097: [Usaco2010 Dec]Exercise 奶牛健美操 贪心+伪树dp+二分
  8. [hdu 1067]bfs+hash
  9. Java 中request.getInputStream()和BufferedReader 和 InputStreamReader 用法
  10. Spring学习-- AOP入门动态代理