【PostgreSQL 17】9 集合运算符
一、并集 UNION
UNION ALL 不会去重,效率更高
SELECT
emp_id
FROM
excellent_emp
WHERE
year = 2018
UNION
SELECT
emp_id
FROM
excellent_emp
WHERE
year = 2019
;

SELECT
emp_id
FROM
excellent_emp
WHERE
year = 2018
UNION ALL
SELECT
emp_id
FROM
excellent_emp
WHERE
year = 2019
;

二、交集 INTERSECT
SELECT
*
FROM
(VALUES(1),(1),(2)) t1(n)
INTERSECT
SELECT
*
FROM
(VALUES(1),(1),(3)) t2(n)
;

SELECT
*
FROM
(VALUES(1),(1),(2)) t1(n)
INTERSECT ALL
SELECT
*
FROM
(VALUES(1),(1),(3)) t2(n)
;

三、差集 EXCEPT
SELECT *
FROM (values(1), (1), (2)) t1(n)
EXCEPT
SELECT *
FROM (values(1), (3)) t2(n)
;

SELECT *
FROM (values(1), (1), (2)) t1(n)
EXCEPT ALL
SELECT *
FROM (values(1), (3)) t2(n)
;

四、优先级
INTERSECT 优先级高于 UNION 和 EXCEPT
相同的优先级按先后
可以用括号改变优先级
SELECT *
FROM (values(1)) t1(n)
UNION ALL
SELECT *
FROM (values(1)) t2(n)
INTERSECT
SELECT *
FROM (values(1)) t3(n)
;

(
SELECT *
FROM (values(1)) t1(n)
UNION ALL
SELECT *
FROM (values(1)) t2(n)
)
INTERSECT
SELECT *
FROM (values(1)) t3(n)
;

参考资料
[1] 不剪发的Tony老师【PostgreSQL开发指南】第27~30节
【PostgreSQL 17】9 集合运算符的更多相关文章
- 小谈KVC中KeyPath的集合运算符
由于知识点比较简单,这里不再陈述一大堆的原理,直入主题. KVC中的集合运算符有以下三类: 1.简单集合运算符:@avg.@sum.@max.@min.@count (只能用在集合对象中,对象属性必须 ...
- Oracle集合运算符 交集 并集 差集
集合运算符:UNION/UNION ALL 并集,INTERSECT 交集,MINUS 差集 一.union求并集,公共部分只有包含一次 例:求emp表ename中含’A‘或含有‘M’ SQL&g ...
- SQL的集合运算符介绍
最近学习了SQL SERVER方面的知识,毕竟做Web应用,少不了跟数据库打交道.学习的来源主要是<程序员的SQL金典>这本书. 今天介绍数据库里面的集合运算符,它是指匹配集合的每一个结果 ...
- oracle 集合运算符
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAY4AAACNCAIAAAAvhQoxAAAbmklEQVR4nO1dX6jc1pn/0lBH4KVV6J ...
- 集合运算符之全集、交集、补集【weber出品必属精品】
集合的概念 与数学中的全集.交集.补集的概念是一样的 常用的集合运算符 集合运算符的作用:把两个查询构造为一个联合查询 1. 全集:求连个查询的全集 union all:将两个查询的所有数据全部列出, ...
- LINQ之路16:LINQ Operators之集合运算符、Zip操作符、转换方法、生成器方法
本篇将是关于LINQ Operators的最后一篇,包括:集合运算符(Set Operators).Zip操作符.转换方法(Conversion Methods).生成器方法(Generation M ...
- Oracle的集合运算符
Oracle的集合运算符有并集union.union all,交集intersect,差集minus 先建表myemp,进行集合运算的测试 create table myemp as select * ...
- SqlServer 集合运算符
1.集合运算符概述 (1)集合运算符运用与集合之间的运算. (2)多元集合: 指的是来自两个输入查询的集合,可能包含重复项 (3)T-SQL 支持三种集合运算符 union .intersect .e ...
- T-SQL:探究UNOIN,INTERSECT,EXCEPT集合运算符(十一)
1.UNOIN运算符 unoin合并了两个输入查询结果 并消除重复项 简单点说 就是输出并集 SELECT country, region, city FROM HR.Employees UNI ...
- oracle开发学习篇之集合运算符以及集合异常捕获
--取出集合;长度 declare type list_nested ) not null; v_all list_nested := list_nested('a','b','c','d','c', ...
随机推荐
- 改造jsp项目的alert框和confirm框
背景 之前项目的模态框改造完成,业务也想把页面中的提示框和确认框也改造一下:这里记录一下改造中的细节. 之前项目中的提示框和确认框用的是浏览器自带的 alert 和 confirm.改造之前无法支持业 ...
- HarmonyOS应用一键置灰指南
一键置灰通常应用于如下场景 1. 重大悼念活动: 在国家发生重大灾难.事故或举行悼念日等特殊时期,为了表达对逝者的尊重和哀悼,许多 APP 会将界面置灰.例如,在一些地震.空难等灾难事件发生后,以及全 ...
- 真正的生产力来了!Docker迁移部署两步搞定!
前言 最近遇到了需要部署一套比较复杂的应用场景,刚好这套应用我在其他服务器部署过,为了节省折腾的时间,我打算直接把服务器上已有的搬过去. PS:没想到这个过程比从头开始来耗费时间 好在是把一键迁移的脚 ...
- Cascader 支持服务端搜索
server-search-cascader 描述 vue3版本的级联选择器,支持懒加载和服务端搜索 如果您用的是react,原理一样,看代码修改即可 The cascade selector of ...
- Luogu P9236 [蓝桥杯 2023 省 A] 异或和之和 题解
P9236 [蓝桥杯 2023 省 A] 异或和之和 首先,异或有一个重要的性质: \[a\oplus b \oplus b=a \] 因为 \(b\) 的二进制位一定与自己一样,根据异或的定义,得出 ...
- Lambert 光照模型
简介 lambert 光照模型可以说是最简单的光照模型了. 主要考虑了 漫反射. 漫反射也单单考虑了经验模型. 主要观察 面片渲染器(我是这么叫的) 参考链接 https://zhuanlan.zhi ...
- mybatis 三剑客 之 generator
简介 简单来说, 可以根据数据库生成一定的java代码.但是负载的逻辑还得自己实现. 就酱 参考连接 http://mybatis.org/generator/ 官网信息 https://www.im ...
- 关于Codigger之软件项目体检Software Project HealthCheck
项目体检是Codigger推出的智能代码质量检查工具,可以系统地帮助您交付干净的代码.作为我们Codigger解决方案的重要元素 ,代码体检集成到您现有的工作流程中并检测代码中的问题,以帮助您对项目执 ...
- 企业级的API网关,兼容多种服务注册与发现中心
RestCloud API网关可由API网关完成各种协议的路由透传功能,再配合API服务编排平台和消息中间件模块即可完全替换原来笨重且为单体架构的ESB企业服务总线系统.并且支持多租户能力,可实现不同 ...
- 如何搭建企业级MQ消息集成平台
企业级MQ消息集成平台的重要性在于实现不同系统之间的高效.可靠.实时的消息传递和数据交换.它可以帮助企业实现系统解耦,提高系统的可扩展性和灵活性,降低系统间的依赖性.通过消息队列中间件,企业可以实现异 ...