sql 集合运算

用来做例子的两个表
  1. tb_text1


    tb_text1
  2. tb_text2


    tb_text2

1. UNION

两个查询结果集的集合(不包括重复行)

select * from tb_text1
union
select * from tb_text2;

查询结果:


结果

相比于UNION ALL,UNION要进行扫描重复的值,速度会慢些,非必要的话尽量用UNION ALL

2. UNION ALL

两个查询结果集的集合(包括重复)

select * from tb_text1
union all
select * from tb_text2;

查询结果:


结果

3. INTERSECT

两个查询结果集的交集(保留都有的部分)

select * from tb_text1
intersect
select * from tb_text2;

查询结果:


结果

4. EXCEPT (oracle:MINUS)

在第一个结果集而不在第二个结果集

select * from tb_text1
minus
select * from tb_text2;

查询结果:


结果

你可能感兴趣的:(sql 集合运算)