首先说明一下union和union all区别

union: 对两个结果集进行并集操作, 不包括重复行,相当于distinct, 同时进行默认规则的排序;

union all: 对两个结果集进行并集操作, 包括重复知行, 即所有的结果全部显示, 不管是不是重复;

union内部的select语句必须拥有相同数量的列列也必须拥有相似的数据类型,同时,每条select语句中列的顺序必须相同

 

场景实例:现登录功能要从用户表A和用户表B两表中进行筛选

代码实现:

select * from (
select [EName],[LoginName],[LoginPwd],2 as ActionID from 表A
UNION  
select [EName],[LoginName],[LoginPwd],ActionID from 表B
)emptb

 

筛选用户名 EName 为 “张三” 的用户

代码实现:

select * from (
select [EName],[LoginName],[LoginPwd],2 as ActionID from 表A
UNION  
select [EName],[LoginName],[LoginPwd],ActionID from 表B
)emptb
where emptb.EName="张三"

  

 

  

版权声明:本文为JoeYD原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/JoeYD/p/12867601.html