一、并集 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 集合运算符的更多相关文章

  1. 小谈KVC中KeyPath的集合运算符

    由于知识点比较简单,这里不再陈述一大堆的原理,直入主题. KVC中的集合运算符有以下三类: 1.简单集合运算符:@avg.@sum.@max.@min.@count (只能用在集合对象中,对象属性必须 ...

  2. Oracle集合运算符 交集 并集 差集

     集合运算符:UNION/UNION ALL 并集,INTERSECT 交集,MINUS 差集  一.union求并集,公共部分只有包含一次 例:求emp表ename中含’A‘或含有‘M’ SQL&g ...

  3. SQL的集合运算符介绍

    最近学习了SQL SERVER方面的知识,毕竟做Web应用,少不了跟数据库打交道.学习的来源主要是<程序员的SQL金典>这本书. 今天介绍数据库里面的集合运算符,它是指匹配集合的每一个结果 ...

  4. oracle 集合运算符

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAY4AAACNCAIAAAAvhQoxAAAbmklEQVR4nO1dX6jc1pn/0lBH4KVV6J ...

  5. 集合运算符之全集、交集、补集【weber出品必属精品】

    集合的概念 与数学中的全集.交集.补集的概念是一样的 常用的集合运算符 集合运算符的作用:把两个查询构造为一个联合查询 1. 全集:求连个查询的全集 union all:将两个查询的所有数据全部列出, ...

  6. LINQ之路16:LINQ Operators之集合运算符、Zip操作符、转换方法、生成器方法

    本篇将是关于LINQ Operators的最后一篇,包括:集合运算符(Set Operators).Zip操作符.转换方法(Conversion Methods).生成器方法(Generation M ...

  7. Oracle的集合运算符

    Oracle的集合运算符有并集union.union all,交集intersect,差集minus 先建表myemp,进行集合运算的测试 create table myemp as select * ...

  8. SqlServer 集合运算符

    1.集合运算符概述 (1)集合运算符运用与集合之间的运算. (2)多元集合: 指的是来自两个输入查询的集合,可能包含重复项 (3)T-SQL 支持三种集合运算符 union .intersect .e ...

  9. T-SQL:探究UNOIN,INTERSECT,EXCEPT集合运算符(十一)

    1.UNOIN运算符 unoin合并了两个输入查询结果 并消除重复项  简单点说   就是输出并集 SELECT country, region, city FROM HR.Employees UNI ...

  10. oracle开发学习篇之集合运算符以及集合异常捕获

    --取出集合;长度 declare type list_nested ) not null; v_all list_nested := list_nested('a','b','c','d','c', ...

随机推荐

  1. 关于Design Review 的一些思考

    开发流程 这篇文章记录一些我对Design Review 的一些思考,下面是我当下对开发流程的理解: 开发流程: 收到需求 需求分析 设计分析 项目排期 项目开发 测试环境测试 线上回归测试 上线观察 ...

  2. 香港CN2优化线路带宽低延迟VPS服务器推荐

    原文:https://ichochy.com/posts/20231120.html CN2 CN2,中国电信下一代承载网(ChinaNetNextCarryingNetwork).CN2是一个多业务 ...

  3. ET6.0运行Demo和工具使用

    环境:Mac + Rider + ET6.0 一:运行Demo 1:下载ET6.0,get:https://github.com/egametang/ET 2:下载.net core 5.0.ET6. ...

  4. 插件报错:SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder“.解决方案

    今天在用Maven搞一个工程,安装要求我添加了所有需要的依赖,可是一运行测试程序,就跳出这样一个大大的错误: SLF4J: Failed to load class "org.slf4j.i ...

  5. 基于 swoole 下 异步队列和毫秒定时任务 API

    说明 1.在 Server 程序中如果需要执行很耗时的操作,比如一个聊天服务器发送广播,Web 服务器中发送邮件.如果直接去执行这些函数就会阻塞当前进程,导致服务器响应变慢. Swoole 提供了异步 ...

  6. Django+DRF 实战:从异常捕获到自定义错误信息

    一.DRF 异常 介绍 APIException 类是 DRF 异常的基类.通过继承APIException,DRF 提供了多种内置异常类. ParseError:当请求解析失败时抛出. Authen ...

  7. Linux安装以及JDK,Tomcat,mysql环境的搭建

    Linux操作系统以及JDK,tomcat,mysql环境的安装 linux特点 linux是一种开源的免费的操作系统 linux比windows 注重安全性.权限管理.稳定性.高并发处理的能力 li ...

  8. JavaScript中如何遍历对象?

    JavaScript中如何遍历对象? 今天来点稍微轻松的话题,如何在JavaScript中遍历对象,在平常的工作中,遍历对象是很常见的操作,javascript提供了多种方法来遍历对象的属性.这些方法 ...

  9. Jquery获取div的宽度与高度

    https://blog.csdn.net/qq2468103252/article/details/82835563 宽度$('div').width(); 区块的本身宽度$('div').oute ...

  10. vue3使用composables来取代mixins 来状态复用

    前言 最简单理解composables的方式 就是将其视为vue版的自定义hooks 来个demo 比如 页面初始化的时候 我需要请求接口 获取数据 并回填至表单 以前的做法 src/pages/in ...