postgresql—-UNION&&INTERSECT&&EXCEPT详解数据库
数据库postgresql 详解 8212 038 union except
2023-06-13 09:20:11 时间
多个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)
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/4872.html
相关文章
- PostgreSql 数据库基础 之 hash_code 函数的用法介绍
- postgresql 数据库中position函数 详解
- postgresql数据库基础 特殊字符 ~*符号的含义及用法
- postgresql 数据库基础 之 coalesce函数数据转换方式
- postgresql 数据库基础 关于like%xxx% 全模糊匹配 的优化操作
- PostgreSql生产级别数据库安装要注意事项
- postgreSQL数据库默认用户postgres常用命令分享
- postgresql限制某个用户仅连接某一个数据库的操作
- PostgreSQL用户、数据库及表的管理、操作与授权方式
- PostgreSQL教程(十三):数据库管理详解
- postgresql 清空数据表数据详解数据库
- Python-PostgreSQL的使用详解数据库
- 向PostgreSQL插入数据详解数据库
- 在linux系统下检查postgresql数据库安装,登录数据库及简单的查看数据库详解数据库
- postgresql—-聚合函数详解数据库
- postgresql—-JSON类型和函数详解数据库
- postgresql—-SELECT详解数据库
- Postgresql日志收集详解数据库
- MongoDB与PostgresQL无责任初步测试详解数据库
- postgresql 触发器详解数据库
- 优化实现PostgreSQL缓存优化,更高性能!(postgresql缓存)
- 创建PostgreSQL数据库:一步一步操作指南(postgresql创建数据库)
- 数据库使用PostgreSQL实现分布式数据库构建(postgresql分布式)
- 优化PostgreSQL内核优化:提升数据库性能的必经之路(postgresql内核)
- 创建PostgreSQL数据库序列的实践(postgresql序列)
- Python如何连接PostgreSQL数据库?(python连接postgresql)
- PostgreSQL接口:轻松连接数据库(postgresql接口)
- 快速安全!PostgreSQL下载,数据库管理必备!(postgresql下载)
- PostgreSQL:轻松入门的开源数据库(postgresql介绍)
- PostgreSQL库:高可靠性企业级数据库的首选(postgresql库)
- Postgresql权威指南:打造完美数据库环境(postgresql手册)
- 新手快速登录Postgresql数据库(登录postgresql)
- 优化提升数据库性能:PostgreSQL优化指南(postgresql性能)
- Python使用PyGreSQL操作PostgreSQL数据库教程