首页 > 其他分享 >MogDB-openGauss中的集合操作

MogDB-openGauss中的集合操作

时间:2024-03-15 15:26:03浏览次数:19  
标签:UNION MogDB t2 t1 集合 操作 openGauss SELECT

MogDB/opengauss 中的集合操作

UNION:并操作,将 UNION 关键字两段的结果集做并集操作。

EXCEPT:差操作,从左侧的结果集中排除掉右侧的结果集。

INTERSECT:交集,对两个结果集做取交集操作。

对表 t1、t2 做 UNION 操作,具体语句如下:

MogDB=# SELECT * FROM t1 UNION SELECT * FROM t2;
 c1 | c2
----+----
  1 |  1
  1 |
    |  2
  1 |  2
  2 |  2
(5 rows)

对表 t1、t2 做 EXCEPT 操作,具体语句如下:

MogDB=# SELECT * FROM t1 EXCEPT SELECT * FROM t2;
 c1 | c2
----+----
  1 |
  2 |  2
(2 rows)

对表 t1、t2 做 INTERSECT 操作,具体语句如下:

MogDB=# SELECT * FROM t1 INTERSECT SELECT * FROM t2;
 c1 | c2
----+----
  1 |  2
(1 row)

从结果可以看出,结果集中还做了去重的操作。也就是说,UNION、EXCEPT、INTERSECT 中还隐式地隐含 DISTINCT 操作,如果显式地指定上 DISTINCT 关键字,它们将得到相同的结果。

对表 t1、t2 做 UNION DISTINCT 操作,具体语句如下:

MogDB=# SELECT * FROM t1 UNION DISTINCT SELECT * FROM t2;
 c1 | c2
----+----
  1 |  1
  1 |
    |  2
  1 |  2
  2 |  2
(5 rows)

如果不需要去重,可以通过指定 ALL 关键字实现。

对表 t1、t2 做 UNION ALL 操作,具体语句如下:

MogDB=# SELECT * FROM t1 UNION ALL SELECT * FROM t2;
 c1 | c2
----+----
  1 |  2
  1 |
  2 |  2
  1 |  2
  1 |  1
    |  2
(6 rows)

标签:UNION,MogDB,t2,t1,集合,操作,openGauss,SELECT
From: https://www.cnblogs.com/renxyz/p/18075453

相关文章

  • MogDB-opengauss存储过程的修改
    MogDB/openGauss存储过程的修改SQL中没有提供显式的存储过程修改命令,通常需要通过REPLACE关键字来指定使用当前的存储过程替代之前的同名存储过程。将前文定义的存储过程替换为按照地区分组的数量统计,具体语句如下:MogDB=#CREATEORREPLACEPROCEDUREwarehouse_count()L......
  • MogDB-openGauss访问控制简介
    MogDB/openGauss访问控制简介SQL可以针对不同的数据库对象赋予不同的权限,这样就可以限制用户对数据的不必要访问,提高数据访问的安全性。常见的SQL权限如下:SELECT/UPDATE/DELETE/INSERT:访问、修改基本表或视图的权限REFERENCES:在基本表上创建外键约束的权限TRIGGER:在基本......
  • MogDB-openGauss触发器简介(1)
    MogDB/opengauss触发器简介(1)触发器是对应用动作的响应机制,当应用对一个对象发起DML操作时,就会产生一个触发事件(Event)。如果该对象上拥有该事件对应的触发器,那么就会检查触发器的触发条件(Condition)是否满足,如果满足触发条件,那么就会执行触发动作(Action)。事件:触发器的触发事......
  • MogDB-openGauss存储过程的声明
    MogDB/openGauss存储过程的声明存储过程是一组SQL语句和逻辑控制的集合。数据库系统需要支持创建、删除和修改存储过程的语法。存储过程相比普通的SQL命令,具有如下优点:创建的存储过程保存在数据库系统中,在使用时被调出并且在数据库系统本地进行编译执行,一次编译,多次执行,......
  • MogDB openGauss如何实现事务的rollback
    MogDB/openGauss如何实现事务的rollback本文出处:https://www.modb.pro/db/113262数据库最主要的功能就是存储数据,然而我们在进行数据库操作时,却很容易发生误操作数据的情况,那么在MogDB中该如何实现误操作数据恢复呢?本文通过具体示例简要介绍如何通过回滚还原到误操作前的状......
  • MogDB openGauss数据完整性约束简介
    MogDB/openGauss数据完整性约束简介本文出处:https://www.modb.pro/db/124910创建基本表的同时,还可以指定表中数据完整性约束,例如在创建warehouse基本表时,通过分析可以得到如下结论:不同仓库必须有不同的w_id,且w_id不能为NULL。仓库必须有具体的名称,不能为NULL。仓库......
  • MogDB-openGauss触发器简介(2)
    MogDB/opengauss触发器简介(2)针对触发对象的触发事件一旦发生,就会激活触发器,触发器首先会检查触发条件,只有在满足触发条件的情况下,才会被真正地执行。其中元组级的触发器可以将更新前后的值嵌入到触发器的触发条件中。NEW.column_name:UPDATE或INSERT事件对应“新”元组,colu......
  • Python:自动化处理PDF文档集合,提取文献标题、合并文献PDF并生成目录和页码
    Python:自动化处理PDF文档集合,提取文献标题、合并文献PDF并生成目录和页码引言:功能概述步骤一:提取PDF标题步骤二:生成目录和页码,合并PDF技术亮点代码步骤一:提取PDF标题(Step_two.ipynb)步骤二:生成目录和页码,合并PDF(Step_two.ipynb)引言:在学术研究、文档管理等领域,经常需......
  • Java中的Map集合如何根据key值排序?
    Java中的Map集合如何根据key值排序(HashMap<String,Object>)?Map集合的键(key)默认是按照它们的hashCode排序的,这在有时间不符合业务排序。如果你想要根据Map的key值进行排序,一般以下有几种方法可以实现。方法一:使用TreeMap使用TreeMap类,它会自动根据key的自然顺序或自定义比较器......
  • zabbix监控MogDB-openGauss之采集prometheus数据
    zabbix监控MogDB/openGauss之采集prometheus数据本文出处:https://www.modb.pro/db/187462前言市场上比较的监控方式有两种:zabbix和prometheus架构,对于MogDB/openGauss数据库来说,已经通过grafana+prometheus+opengauss_exporter的方式完成了监控部署,如何通过zabb......