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','12'),(2,'ha','543');
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)

 

转载于:https://www.cnblogs.com/alianbog/p/5621562.html

innovus 命令每日精要 | 掌控Innovus布线的利器——setNanoRouteMode详解 在数字IC后端设计的复杂世界里,布线优化是至关重要的一步。今天,我来给大家深入讲解Innovus工具中setNanoRouteMode命令的精妙之处,让你轻松驾驭布线策略,提升设计质量。setNanoRouteMode是Innovus中用于配置NanoRoute绕线行为的关键命令。通过其丰富的参数,你可以精细控制布局后阶段的绕线策略、信号完整性优化、工艺适配及设计规则修复等流程。下面,我将按功能分类总结其核心选项,并针对不同场景给出建议。 阅读详情

相关推荐

AI协议助手:法律文本解析与智能问答技术解析

自然语言处理(NLP)技术在法律文本解析中展现出巨大潜力,通过BERT等预训练模型实现条款分类与语义理解。结合OCR与知识图谱技术,AI协议助手能快速提取合同核心条款,并以问答形式解释法律术语,显著提升商务场景的决策效率。测试数据显示,该系统对NDA协议的识别准确率达92%,响应时间仅1.2秒,特别适用于人力资源竞业协议、云服务SLA评估等场景。随着RAG架构与法律术语向量库的应用,AI+法律正推动合同审核成本下降67%,未来将在跨境合规、智能谈判等方向持续演进。

weixin_29053577的博客 131

pgsql:关联查询union(并集)、except(差集)、intersect(交集)

联合查询的规则是: 字段的个数和顺序必须相同 查询中的相应字段必须具有兼容的数据类型 要对合并后的结果集进行排序,可以在最后一个查询后面加上 order by 只在最后一个查询后面加,不是每个查询都加。 1.union union会移除所有重复的行,要保留重复的行,需要使用 union all。 -- 有语文成绩或数学成绩的学生 select stu_name from exam_score where subject in('语文') union select stu_name from e

奋斗鱼 8897

用友U8接口开发全攻略:从EAI到OpenAPI的5种方式详解(附避坑指南)

本文深度解析了用友U8系统接口开发的五种核心方式:EAI、API、OpenAPI、SQL直连与内部CO组件。文章详细对比了各方式的适用场景、优缺点及实战操作,并提供了清晰的选型决策框架与避坑指南,帮助开发者根据具体业务需求选择最高效、最稳定的集成路径。

weixin_29322855的博客 686

【PostgreSQL】数据查询-组合查询(UNION,INTERSECT,EXCEPT)

UNION有效地将 query2 的结果追加到 query1 的结果(尽管不能保证这是实际返回行的顺序)。此外,它从其结果中消除重复的行,其方式与DISTINCT 相同,除非使用UNION ALL。如果查询需要使用以下各节中讨论的任何子句,例如 .如果没有括号,您将收到语法错误,否则该子句将被理解为应用于集合操作的输出,而不是其输入之一。同样,除非使用,否则将消除重复项。为了计算两个查询的并集、交集或差值,这两个查询必须“并集兼容”,这意味着它们返回相同数量的列,并且相应的列具有兼容的数据类型。

圈小圈DBA的博客 1653

PSINS工具箱15状态组合导航仿真程序(test_SINS_GPS_153)浅析-卡尔曼滤波设置+导航解算

文章目录test_SINS_GPS_153源码poserrsetkfinitgabiaskfupdate流程 test_SINS_GPS_153源码 poserrset function poserr = poserrset(dpos0, dlon, dhgt) % position errors dpos=[dlat;dlon;dhgt] setting. % % Prototype: poserr = poserrset(dpos0) % Input: dpos0=[dlat; dlon; dhgt],

十八与她的博客 2161

若依ruoyi框架实现单点登录或者接入统一认证

log.info("单点登录用户[{}]不存在, 需要创建.", loginName);log.info("单点登录用户[{}]已存在.", loginName);jsonObjectData.put("nickName","单点1");if (code.equals("0")) {//验证成功需要自动登录。jsonObject.put("msg","验证成功");ajax.put("msg", "登录成功");

GitHub质检员 2万+

在PG数据库中,not in 和except的区别

如果需要处理包含NULL的数据或进行复杂的集合操作,推荐使用EXCEPT。如果数据量较小且逻辑简单,可以使用NOT IN。在处理大数据集时,EXCEPT通常具有更好的性能。

Vic10101的博客 1340

YOLOv8 ultralytics使用笔记----labelme标记数据,训练模型、追踪目标。

Ultralytics是一个Python库,它是为执行高级计算机视觉任务而创建的,如对象检测、实例分割、图像分类等。Ultralytics为YOLO模型发布了一个全新的存储库,它被构建为用于机器视觉统一框架。这里先利用,并激活。

qq_48050838的博客 1万+

postgresql的except关键词去重问题

今天测试项目的sql语句中有左排除,而postgresql的左排除就是左连接排除交集,用测试数据测试后发现得出的结果不正确,在比对之后才发现,except将结果按照所有列自动去重了(这也是我为了省事把唯一主键取消了,测试数据直接copy了很多条,导致找了半天错误),不过也知道了postgersql和greenplum的一个特性,except会自动去重。 ...

leanaoo的博客 2795

YOLO创新点改进点的消融实验设计规范

YOLO改进的消融实验是一种重要的方法,用于评估和验证模型中不同组件的影响。在进行YOLO改进的消融实验时,我们可以选择一些可能的改进点,比如Backbone网络、Anchor框设计和损失函数设计,然后通过实验来分析它们对模型性能的影响。首先,我们需要确定实验设计。对于每个改进点,我们将设计多个实验组,并针对每个实验组训练模型并进行性能评估。这里以三个改进点为例进行说明:改进点1:Backbone网络 (改进点2:Anchor框设计 (改进点3:损失函数设计 (

crasher123的博客 2909

PCB铺铜技巧如何铺铜经验总结

铺铜是指在PCB电气层添加整块的铜皮;铺铜包括电源层铺铜,地层铺铜和信号走线层空闲区域铺铜;铺铜是PCB设计的一个重要的环节。

fydar的博客 1万+

mysql、postgresql 集合union、intersect、except 操作

except表示差集,返回查询2中没有的查询1中数据,也就是不能返回查询2中有的数据,一样会过滤重复行,可以使用except all不过滤重复行。intersect表示并集,返回查询1中有并且查询2中也有的数据,并且过滤重复数据,可以使用intersect all不过滤数据。union表示并集,返回查询1和查询2查询到的所有数据,并且会过滤掉重复数据,可以使用union all不删除重复数据。...

qq_42488996的博客 936

激光雷达与相机时间戳同步:原理、触发方案与工程实现

目录一、引言:时间不同步,多传感器融合必出问题二、核心原理:相机成像机制与触发模式(同步的基础)2.1 相机成像的两个核心阶段:曝光与读出(1)非交叠曝光(2)交叠曝光2.2 相机触发模式:内触发 vs 外触发(1)内触发(2)外触发2.3 关键信号:Strobe信号与预输出(同步的核心技巧)三、三种主流时间戳同步方案(工程落地首选)3.1 方案一:统一硬触发(精度最高,高端场景首选)核心原理核心配置要点优缺点适用场景3.2 方案二:软触发+硬触发(Strobe预输出,车载量产首选)核心原理核心配置要点优缺

getusushu的博客 201

postgresql集合运算UNION&&INTERSECT&&EXCEPT

一.UNION 两个查询使用UNION的结果使用图片表示如下: UNION默认会去重,即重复数据只会返回一行,如果需要保留重复数据所有行可以使用UNION ALL。 二.INTERSECT 两个查询使用INTERSECT求交集的结果使用图片表示如下: 三.EXCEPT 两个查询使用EXCEPT(A EXCEPT B)求差集的结果: 使用方法: ...

aa627126247的博客 1496

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

postgresql并、交、差

union(并集)、except(差集)、intersect(交集) 联合查询的规则是: 字段的个数和顺序必须相同 查询中的相应字段必须具有兼容的数据类型 注意 要对合并后的结果集进行排序,可以在最后一个查询后面加上 order by 只在最后一个查询后面加,不是每个查询都加 假设我们有张学生成绩表: 1、union(并集) -- 有语文成绩或数学成绩的学生 select stu_name from exam_score where subject in('语文') union select

龙小胖的博客 2688

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

在 Postgres 中使用 Intersection

INTERSECT是 PostgreSQL 中一个强大的集合操作工具,用于找出多个查询结果集中的共同数据。通过使用INTERSECT,可以有效地进行数据清洗、报告生成和数据对比等操作。掌握INTERSECT的使用方法,有助于在处理复杂查询和数据分析时提高效率。务必注意列匹配、性能优化和处理空结果集等细节,以确保查询的准确性和性能。

网络技术联盟站 825

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

PostgreSQL-06-入门篇-集合运算

UNION运算符将两个或多个SELECT语句的结果集组合成一个结果集。下面说明了组合两个查询的结果集的UNION要使用UNION两个查询的选择列表中列的数量和顺序必须相同。数据类型必须兼容。UNION运算符从组合数据集中删除所有重复行。要保留重复的行,请改用UNION ALL。下面的维恩图说明了UNION与UNION和EXCEPT运算符类似,PostgreSQL 的INTERSECT运算符将两个或多个SELECT语句的结果集组合成一个结果集。INTERSECT运算符返回两个结果集中可用的任何行。

被拯救的威尼斯的博客 1904

pgsql查询结果集取交集、并集、差集操作

pgsql对结果集进行交、并、差集操作

cainiaobulan的博客 4699

pgsql 取并集交集差集

postgresql 取交集并集差集

qq_42715450的博客 4841

PostgresSQL中的常用空间函数

首先需要说明一下,这里许多函数是以ST_[X]yyy形式命名的,事实上很多函数也可以通过xyyy的形式访问,在PostGIS的函数库中我们可以看到这两种函数定义完全一样。

m0_72744405的博客 3776

POSTGRESQL UNNEST()与元素编号

Postgres 9.4或更高版本 使用WITH ORDINALITY设置返回function: 当FROM子句中的函数后缀WITH ORDINALITY,bigint列被附加到从1开始的输出,并为函数输出的每一行递增1。 这在设置返回函数(如UNNEST()的情况下非常有用。 结合pg 9.3+中的LATERAL特性 ,根据pgsql-hacker上的这个线程 ,上面的查询现在可以写成: SELECT t.id, a.elem, a.nr FROM tbl AS t LEFT JOIN..

一只小蚂蚁的自白 3910

9.PostgreSQL的Join,Union,Null

一、PostgreSQL 连接(JOIN) PostgreSQL JOIN 子句用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段。 在 PostgreSQL 中,JOIN 有五种连接类型: CROSS JOIN :交叉连接 INNER JOIN:内连接 LEFT OUTER JOIN:左外连接 RIGHT OUTER JOIN:右外连接 FULL OUTER JOIN:全外连接 接下来让我们创建两张表 COMPANY 和 DEPARTMENT。 1.1 实例 创建 COMPANY 表(下载

爱是与世界平行 1441

except在mysql中怎么实现_有关PGSQL的INTERSECT和EXCEPT以及在MYSQL中的实现代码

有关PGSQL的INTERSECT和EXCEPT以及在MYSQL中的实现。一下是表语句。create table t1 (id serial not null,game_id int not null);insert into t1(game_id) values (1),(2),(3),(5),(6),(8);create table t2 (id serial not null,game_id...

weixin_39712705的博客 420

PostgreSQL UNION[ALL],INTERSECT [ALL],EXCEPT [ALL]

PostgreSQL UNION[ALL],INTERSECT [ALL],EXCEPT [ALL]

luojinbai的专栏 3998
上一篇: 你想建设一个能承受500万PV/每天的网站吗
下一篇: 面试经典70题--人事面
weixin_33728708
博客等级 码龄11年 5472粉丝 1452原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值