首页
登录 | 注册

SQL UNION 和 UNION ALL 用法详解

SQL UNION 操作符
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。
同时,每条 SELECT 语句中的列的顺序必须相同。
SQL UNION 语法

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

注释:默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。
SQL 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 命令只会选取不同的值。


相关文章

  • iptrace命令是一个比较古老且实用的网络故障及软件疑难杂症的诊断工具,其记录从网络接口接收到的所有数据包.ipreport 命令将 iptrace 生成的数据格式化到一个可读的跟踪报告中,还可以使用 ipfilter 对 iprepor ...
  • 转载:http://xiaozpjava.iteye.com/blog/1341397 sqlcode sqlstate 说明 000 00000 SQL语句成功完成 01xxx SQL语句成功完成,但是有警告 +012 01545 未限定 ...
  • 《循序渐进Linux》第二版即将出版发行(附封面)
    从<循序渐进Linux>第一版发布,到现在已经近6年了,6年的时间,技术发生了很大的变化,Linux系统的内核版本从2.6.9(RHEL4.x)已经更新到了现在的3.10(Centos7.x),第一版中的部分内容已经陈旧,Lin ...
  • Java调用SQL Server的存储过程详解
    1使用不带参数的存储过程 使用 JDBC 驱动程序调用不带参数的存储过程时,必须使用 call SQL 转义序列.不带参数的 call 转义序列的语法如下所示: {call 存储过程名} 作为实例,在 SQL Server 2005 Adv ...
  • SQL 难点解决:特殊示例
      1.    列出中文人口和英文人口均达到 1% 的国家代码 MySQL8: select countrycode from world.countrylanguage where language in ('Chinese', 'Eng ...
  • SQL 难点解决:循环计算
      1.    求 20 以内的质数 MySQL8: with recursive t(n) as ( select 1 union all select n+1 from t where nt2.close,t2.rise+1,0) fr ...

2020 unjeep.com webmaster#unjeep.com
12 q. 0.013 s.
京ICP备10005923号