检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
数据查询请求处理过程 图1 GaussDB服务响应流程 父主题: 数据库系统概述
数据查询请求处理过程 图1 GaussDB服务响应流程 父主题: 数据库系统概述
闪回查询 背景信息 闪回查询可以查询过去某个时间点表的某个snapshot数据,这一特性可用于查看和逻辑重建意外删除或更改的受损数据。闪回查询基于MVCC多版本机制,通过检索查询旧版本,获取指定老版本数据。 前提条件 undo_retention_time参数用于设置undo旧版本的保留时间。
检索查询 对于常用的检索查询,嵌入式SQL提供了常规命令SELECT和FETCH的特殊变体。这些命令使用特殊的INTO子句,用以指定检索出来的数值存储在哪些宿主变量里。SELECT用于返回单行的查询,FETCH用于使用游标返回多行的查询。 使用SELECT /* * 假定有这个表:
分页查询 语法如下: SELECT query_list FROM table_name [ LIMIT { [offset,] count | ALL } ] offset :表示从第几行向后开始。 count:表示向后查询几条数据。 ALL:表示向后查询所有的数据。 --建表并插入100条数据。
复合查询 包含复合运算符的查询,即复合查询。所有的复合查询都具有相同的优先级,参加集合操作的各查询结果的列数、表达式的数量都必须一致,类型必须兼容。 常见的集合运算有: UNION:两个查询结果集的并集,对结果进行去重。 UNION ALL:两个查询的并集,只将两个查询的结果合并。
闪回查询 背景信息 闪回查询可以查询过去某个时间点表的某个snapshot数据,这一特性可用于查看和逻辑重建意外删除或更改的受损数据。闪回查询基于MVCC多版本机制,通过检索查询旧版本,获取指定老版本数据。 前提条件 undo_retention_time参数用于设置undo旧版本的保留时间。
条件查询 条件查询指查询出符合条件的数据。 --建表并插入数据。 gaussdb=# CREATE TABLE test_grade( id INT, name VARCHAR(20), score FLOAT -- 成绩 ); gaussdb=#
检索查询 对于常用的检索查询,嵌入式SQL提供了常规命令SELECT和FETCH的特殊变体。这些命令使用特殊的INTO子句,用以指定检索出来的数值存储在哪些宿主变量里。SELECT用于返回单行的查询,FETCH用于使用游标返回多行的查询。 使用SELECT /* * 假定有这个表:
简单查询 简单查询指从一个或多个表或视图中检索一个或多个列数据的操作。 --建表并插入数据。 gaussdb=# CREATE TABLE student( sid INT PRIMARY KEY, class INT, name VARCHAR(50)
分区查询 查询指定分区的数据。 --创建范围分区表。 gaussdb=# CREATE TABLE test_range1( id INT, info VARCHAR(20) ) PARTITION BY RANGE (id) ( PARTITION p1
复合查询 包含复合运算符的查询,即复合查询。所有的复合查询都具有相同的优先级,参加集合操作的各查询结果的列数、表达式的数量都必须一致,类型必须兼容。 常见的集合运算有: UNION:两个查询结果集的并集,对结果进行去重。 UNION ALL:两个查询的并集,只将两个查询的结果合并。
闪回查询 背景信息 闪回查询可以查询过去某个时间点表的某个snapshot数据,这一特性可用于查看和逻辑重建意外删除或更改的受损数据。闪回查询基于MVCC多版本机制,通过检索查询旧版本,获取指定老版本数据。 前提条件 整体方案分为三部分:旧版本保留、快照的维护和旧版本检索。旧版本
条件查询 条件查询指查询出符合条件的数据。 --建表并插入数据。 gaussdb=# CREATE TABLE test_grade( id INT, name VARCHAR(20), score FLOAT -- 成绩 ); gaussdb=#
连接查询 连接查询也可称为跨表查询,需要关联多个表进行查询。 --建表并插入数据。 gaussdb=# CREATE TABLE emp( id int, --员工编号 name varchar, --员工姓名 deptno int
连接查询 连接查询也可称为跨表查询,需要关联多个表进行查询。 -- 建表并插入数据。 gaussdb=# CREATE TABLE emp( id int, --员工编号 name varchar, --员工姓名 deptno int
分页查询 语法如下: SELECT query_list FROM table_name [ LIMIT { [offset,] count | ALL } ] offset :表示从第几行向后开始。 count:表示向后查询几条数据。 ALL:表示向后查询所有的数据。 -- 建表并插入100条数据。
检索查询 对于常用的检索查询,嵌入式SQL提供了常规命令SELECT和FETCH的特殊变体。这些命令使用特殊的INTO子句,用以指定检索出来的数值存储在哪些宿主变量里。SELECT用于返回单行的查询,FETCH用于使用游标返回多行的查询。 使用SELECT /* * 假定有这个表:
SIBLINGS BY] [GROUP BY] 参数说明 level:伪列用于返回查询的层次。 START WITH:用于指定层次关系,即查询的根行。 CONNECT BY:用来指定父行和子行的关系。 PRIOR:用于指定哪一个是父级别。 ORDER SIBLINGS BY:指定同一层级之间的排列顺序。
分区查询 查询指定分区的数据。 --创建范围分区表。 gaussdb=# CREATE TABLE test_range1( id INT, info VARCHAR(20) ) PARTITION BY RANGE (id) ( PARTITION p1