服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Sql Server - Sql学习第一天——SQL UNION 和 UNION ALL 操作符认识

Sql学习第一天——SQL UNION 和 UNION ALL 操作符认识

2020-01-04 18:47MSSQL教程网 Sql Server

UNION 操作符用于合并两个或多个 SELECT 语句的结果集,有一点需要注意的是UNION 内部的 SELECT 语句必须拥有相同数量的列,接下来为大家详细介绍下,感兴趣的各位可以参考下哈

关于SQL UNION 操作符 
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。 
注意: 
1.UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。 
2.UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。 
SQL UNION 语法(结果集没有重复值): 

复制代码代码如下:


SELECT s FROM table1 
UNION 
SELECT s FROM table2 


SQL UNION ALL 语法(结果集有重复的值): 

复制代码代码如下:


SELECT s FROM table1 
UNION ALL 
SELECT s FROM table2 


例子表: 
 表一(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 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

 

延伸 · 阅读

精彩推荐