postgresql----UNION&&INTERSECT&&EXCEPT
多个SELECT语句可以使用UNION,INTERSECT和EXCEPT进行集合处理,其中UNION用于求并集,INTERSECT用于求交集,EXCEPT用于求差集。用法如下
query1 UNION query2
query1 INTERSECT query2
query1 EXCEPT query2
其中query1和query2的SELECT子句中字段个数必须相同,且对应的数据类型必须相同(如果int和bigint结果取bigint,varchar(5)和varchar(10)结果取varchar(10)),字段名可以不同,但是最终结果会以第一个SELECT子句中字段名称返回。
测试表:
test=# create table tbl_test1(
test(# a int,
test(# b varchar(10),
test(# c varchar(5)
test(# );
CREATE TABLE
test=# create table tbl_test2(
test(# e int,
test(# f varchar(10),
test(# g varchar(32)
test(# );
CREATE TABLE
test=# insert into tbl_test1(a,b,c) values (1,'HA',''),(2,'ha','');
INSERT 0 2
test=# insert into tbl_test2(e,f,g) values (1,'HA','dh'),(3,'hk','76sskjhk');
INSERT 0 2
一.UNION
两个查询使用UNION的结果使用图片表示如下:

UNION默认会去重,即重复数据只会返回一行,如果需要保留重复数据所有行可以使用UNION ALL。
示例1.
test=# select a,b from tbl_test1 union select e,f from tbl_test2 ;
a | b
---+----
3 | hk
1 | HA
2 | ha
(3 rows)
示例2.
test=# select a,b from tbl_test1 union all select e,f from tbl_test2 ;
a | b
---+----
1 | HA
2 | ha
1 | HA
3 | hk
(4 rows)
示例3.
test=# select a,c from tbl_test1 union all select e,g from tbl_test2 ;
a | c
---+----------
1 | 12
2 | 543
1 | dh
3 | 76sskjhk
(4 rows)
二.INTERSECT
两个查询使用INTERSECT求交集的结果使用图片表示如下:

示例1.
test=# select a,b from tbl_test1 intersect select e,f from tbl_test2 ;
a | b
---+----
1 | HA
(1 row)
三.EXCEPT
两个查询使用EXCEPT(A EXCEPT B)求差集的结果:

示例1.
test=# select a,b from tbl_test1 except select e,f from tbl_test2 ;
a | b
---+----
2 | ha
(1 row)
postgresql----UNION&&INTERSECT&&EXCEPT的更多相关文章
- List之Union(),Intersect(),Except()
http://www.cnblogs.com/qinpengming/archive/2012/12/03/2800202.html List之Union(),Intersect(),Except() ...
- C#Linq中的Union All/Union/Intersect和Top/Bottom和Paging和SqlMethods,skip,take,takewhile,skipwhile,编译查询等
我们继续讲解LINQ to SQL语句,这篇我们来讨论Union All/Union/Intersect操作和Top/Bottom操作和Paging操作和SqlMethods操作 . Union Al ...
- Linq无聊练习系列6--Any/All/Contains/Concat/Union/Intersect/Except/take/skip/SqlMethods操作练习
/*********************Any/All/Contains/Concat/Union/Intersect/Except/take/skip/SqlMethods操作练习******* ...
- LINQ 之Union All/Union/Intersect操作
闪存 首页 新随笔 管理 订阅 Union All/Union/Intersect操作 适用场景:对两个集合的处理,例如追加.合并.取相同项.相交项等等. Concat(连接) 说明:连接不同 ...
- LINQ to SQL语句之Union All/Union/Intersect和Top/Bottom和Paging和SqlMethods
我们继续讲解LINQ to SQL语句,这篇我们来讨论Union All/Union/Intersect操作和Top/Bottom操作和Paging操作和SqlMethods操作 . Union Al ...
- List之Union(),Intersect(),Except() 即并集,交集,差集运算。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- [转]C#Linq中的Union All/Union/Intersect和Top/Bottom和Paging和SqlMethods,skip,take,takewhile,skipwhile,编译查询等
本文转自:http://www.cnblogs.com/suizhikuo/p/3791799.html 我们继续讲解LINQ to SQL语句,这篇我们来讨论Union All/Union/Inte ...
- LINQ体验(8)——LINQ to SQL语句之Union All/Union/Intersect和Top/Bottom和Paging和SqlMethods
我们继续解说LINQ to SQL语句,这篇我们来讨论Union All/Union/Intersect操作和Top/Bottom操作和Paging操作和SqlMethods操作 . Union Al ...
- Union All/Union/Intersect操作
Union All/Union/Intersect操作 适用场景:对两个集合的处理,例如追加.合并.取相同项.相交项等等. Concat(连接) 说明:连接不同的集合,不会自动过滤相同项:延迟. 1. ...
- LINQ to SQL语句(8)之Concat/Union/Intersect/Except
适用场景:对两个集合的处理,例如追加.合并.取相同项.相交项等等. Concat(连接) 说明:连接不同的集合,不会自动过滤相同项:延迟. 1.简单形式: var q = ( from c in db ...
随机推荐
- BCM_I2C函数更改
版本:sdk-xgs-robo- 平台:BCM53344 应用:控制POE芯片 描述:POE控制芯片使用PD69200,使用i2c与其通信,每次需要发送15字节数据,并接受15字节的返回数据. 1.更 ...
- e555. 在Applet中播放音频
// See also e551 精简的Applet public void init() { // Load audio clip AudioClip ac = getAudioClip(getDo ...
- XML 入门
XML语法 所有 XML 元素都须有关闭标签 XML 标签对大小写敏感 XML 必须正确地嵌套 XML 文档必须有根元素 就像HTML一样,HTML必须有<html>根元素.XML也必须有 ...
- linux -- ubuntu14.10安装gnome桌面环境和dock工具
ubuntu14.10系统自带Unity桌面环境,但是还是习惯于gnome桌面环境,再加上dock用着就很顺手了. 方法/步骤 首先,按Ctrl+Alt+T,调出终端.在其中输入:sudo apt ...
- 【案例分析】Linux下怎样查看port占用情况
作者:zhanhailiang 日期:2014-11-08 基于express写一个測试server代码例如以下,可是执行失败,报"listen EADDRINUSE".字面上理解 ...
- Spring-注入外部值
Spring注入需要初始化,但前面均使用硬编码注入,如: JavaConfig配置: package soundSystem; import org.springframework.stereotyp ...
- 【转载】Redhat5和6 YUM源配置的区别
Redhat5和6 YUM源配置的区别 一.概述 随着各个软件版本的不断升级,我们需要掌握的软件特性也越来越多,技术的不断更新也促进了我们脑细胞的循环. 今天在配置RedHat6.3的yum源 ...
- BootStrap中按钮点击后被禁用按钮的最佳实现方法
//禁用button $('button').addClass('disabled'); // Disables visually $('button').prop('disabled', true) ...
- 你真的了解HTML吗?–雅虎面试题
http://helloweb.wang/jingyan~jiqiao/589.html
- Tomcat之JSP运行原理之小试牛刀
最近空闲看了下JSP/Servlet,以前只知道用JSP,但是对其运行原理知之甚少,今在此做些笔记,以备查阅. 首先简要描述下其运行过程,然后结合Tomcat源码作简要分析. JSP运行过程: 第一步 ...