检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
SQL查询和子查询 GaussDB数据库兼容除分层查询以外的SQL查询和子查询。 表1 SQL查询和子查询 序号 Oracle数据库 GaussDB数据库 差异 1 创建简单查询 支持 - 2 分层查询 支持,有差异 GaussDB仅支持Oracle中的CONNECT_BY_FILTERING
SQL查询和子查询 GaussDB数据库兼容除分层查询以外的SQL查询和子查询。 表1 SQL查询和子查询 序号 Oracle数据库 GaussDB数据库 差异 1 创建简单查询 支持 - 2 分层查询 不支持 - 3 UNION [ALL],INTERSECT,减运算符 支持 -
连接查询 连接查询也可称为跨表查询,需要关联多个表进行查询。 --建表并插入数据。 gaussdb=# CREATE TABLE emp( id int, --员工编号 name varchar, --员工姓名 deptno int
连接查询 连接查询也可称为跨表查询,需要关联多个表进行查询。 -- 建表并插入数据。 gaussdb=# CREATE TABLE emp( id int, --员工编号 name varchar, --员工姓名 deptno int
条件查询 条件查询指查询出符合条件的数据。 --建表并插入数据。 gaussdb=# CREATE TABLE test_grade( id INT, name VARCHAR(20), score FLOAT -- 成绩 ); gaussdb=#
条件查询 条件查询指查询出符合条件的数据。 --建表并插入数据。 gaussdb=# CREATE TABLE test_grade( id INT, name VARCHAR(20), score FLOAT -- 成绩 ); gaussdb=#
复合查询 包含复合运算符的查询,即复合查询。所有的复合查询都具有相同的优先级,参加集合操作的各查询结果的列数、表达式的数量都必须一致,类型必须兼容。 常见的集合运算有: UNION:两个查询结果集的并集,对结果进行去重。 UNION ALL:两个查询的并集,只将两个查询的结果合并。
复合查询 包含复合运算符的查询,即复合查询。所有的复合查询都具有相同的优先级,参加集合操作的各查询结果的列数、表达式的数量都必须一致,类型必须兼容。 常见的集合运算有: UNION:两个查询结果集的并集,对结果进行去重。 UNION ALL:两个查询的并集,只将两个查询的结果合并。
闪回查询 背景信息 闪回查询可以查询过去某个时间点表的某个snapshot数据,这一特性可用于查看和逻辑重建意外删除或更改的受损数据。闪回查询基于MVCC多版本机制,通过检索查询旧版本,获取指定老版本数据。 前提条件 undo_retention_time参数用于设置undo旧版本的保留时间。
闪回查询 背景信息 闪回查询可以查询过去某个时间点表的某个snapshot数据,这一特性可用于查看和逻辑重建意外删除或更改的受损数据。闪回查询基于MVCC多版本机制,通过检索查询旧版本,获取指定老版本数据。 前提条件 整体方案分为三部分:旧版本保留、快照的维护和旧版本检索。旧版本
获取项目ID 操作场景 在调用接口的时候,部分URL中需要填入项目编号,所以需要获取到项目编号。有如下两种获取方式: 调用API获取项目ID 从控制台获取项目ID 调用API获取项目ID 项目ID可以通过调用查询指定条件下的项目信息API获取。 获取项目ID的接口为“GET ht
子查询 一个查询可以嵌套在另一个查询中,其结果作为另一个查询的数据来源或判断条件。其中外层查询也叫父查询,内层查询也叫子查询。 按照子查询的返回记录数分类可分为单行子查询,多行子查询。 按照子查询是否被执行多次分类可分为关联子查询,非关联子查询。 单行子查询 单行子查询操作符有>=、>、<=、<、<>。
子查询 一个查询可以嵌套在另一个查询中,其结果作为另一个查询的数据来源或判断条件。其中外层查询也叫父查询,内层查询也叫子查询。 按照子查询的返回记录数分类可分为单行子查询,多行子查询。 按照子查询是否被执行多次分类可分为关联子查询,非关联子查询。 单行子查询 单行子查询操作符有>=、>、<=、<、<>。
伪列 ROWNUM是一个伪列,它返回一个数字,表示从查询中获取结果的行编号。第一行的ROWNUM为1,第二行的为2,以此类推。 使用ROWNUM来限制查询返回的行数,如以下示例所示: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
移存在风险。 当父查询中有rownum限制条件同时子查询的投影列中有rownum时,该限制条件将下推至子查询。其中约束条件如下: 只有父查询rownum限制条件为“<”、“<=”、“=”,且子查询直接用rownum作为伪列时,才可以下推。 父查询中有多个对子查询中rownum的过
移存在风险。 当父查询中有rownum限制条件同时子查询的投影列中有rownum时,该限制条件将下推至子查询。其中约束条件如下: 只有父查询rownum限制条件为“<”、“<=”、“=”,且子查询直接用rownum作为伪列时,才可以下推。 父查询中有多个对子查询中rownum的过
伪列 ROWNUM是一个伪列,它返回一个数字,表示从查询中获取结果的行编号。第一行的ROWNUM为1,第二行的为2,以此类推。 使用ROWNUM来限制查询返回的行数,如以下示例所示: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
分区查询 查询指定分区的数据。 --创建范围分区表。 gaussdb=# CREATE TABLE test_range1( id INT, info VARCHAR(20) ) PARTITION BY RANGE (id) ( PARTITION p1
检索查询 对于常用的检索查询,嵌入式SQL提供了常规命令SELECT和FETCH的特殊变体。这些命令使用特殊的INTO子句,用以指定检索出来的数值存储在哪些宿主变量里。SELECT用于返回单行的查询,FETCH用于使用游标返回多行的查询。 使用SELECT /* * 假定有这个表:
Rownum 算子说明 Rownum算子会生成伪列,它返回一个数字,表示从查询中获取结果的行编号。第一行的Rownum为1。可以使用Rownum关键字对查询结果的行编号进行条件过滤。通常出现在Rownum子句里。 使用Rownum有一定的约束条件: Rownum不可作为别名,以免SQL语句出现歧义。