Union all/union , intersect , minus 的用法

union all 操作符返回两个查询的结果集的并集。并且对于两个结果集的重复部分,不去重。
union 操作符返回两个查询的结果集的并集。并且对于两个结果集的重复部分,去重。
例子:
建表
create table text1(id number(5) not null,name varchar2(10) );

create table text2(id number(5) not null,name varchar2(10));
插入数据
insert into text1(id,name)
values(1,‘小明’);
insert into text1(id,name)
values(2,‘小红’);
insert into text1(id,name)
values(3,‘小刚’);

insert into text2(id,name)
values(3,‘小刚’);
insert into text2(id,name)
values(4,‘小李’);
insert into text2(id,name)
values(5,‘小黑’);
union all
select * from text1
union all
select * from text2
在这里插入图片描述
union
select * from text1
union
select * from text2
在这里插入图片描述

从截图中可以看到,用union all 把text1和text2的所有数据都查询出来了,也包括了重复的数据,而用union也是把text1和text2的所有数据都查询出来了,但是却把重复的数据
去掉了。

        intersect 

Intersect操作符返回两个查询的结果集的交集。
select * from text1
intersect
select * from text2
在这里插入图片描述
从截图中可以看到,用intersect 把text1和text2的重复的数据查询出来了,即把text1和text2的交集查询出来了
minus 操作符是把第一张表和第二张表的重复的数据删除,显示第一张表的数据
minus
select * from text1
minus
select * from text2
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190408083958858.png
从截图上看,用minus操作符把text1和text2重复的数据删除掉后,只保留text1的数据

注意:在select列表中的列名和表达式在数量和数据类型上要相对应

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值