检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
SQL查询和子查询 GaussDB数据库兼容除分层查询以外的SQL查询和子查询。 表1 SQL查询和子查询 序号 Oracle数据库 GaussDB数据库 差异 1 创建简单查询 支持 - 2 分层查询 不支持 - 3 UNION [ALL],INTERSECT,减运算符 支持 -
器的端口号+1]端口连接,查询pg_stat_activity视图;针对慢查询,可以使用系统函数pg_terminate_backend(pid int)进行查杀会话。 针对业务量长期超负载情况(即无明显慢查询,或慢查询查杀后但新的查询依然会变成慢查询),应考虑降低业务负载、增加数据库资源的方式进行优化。
检索查询 对于常用的检索查询,嵌入式SQL提供了常规命令SELECT和FETCH的特殊变体。这些命令使用特殊的INTO子句,用以指定检索出来的数值存储在哪些宿主变量里。SELECT用于返回单行的查询,FETCH用于使用游标返回多行的查询。 使用SELECT /* * 假定有这个表:
查询规划 介绍查询优化器方法配置、开销常量、规划算法以及一些配置参数。 优化器中涉及的两个参数: INT_MAX数据类型INT的最大值,其值为2147483647。 DBL_MAX数据类型FLOAT的最大值。 全局设置查询规划相关参数除了客户业务外也会对数据库自身运维和监控业务造
子查询 【规则】禁止一条SQL语句中,出现重复子查询语句。 【建议】少用标量子查询。 标量子查询指结果为一个值,并且条件表达式为等值的子查询。示例如下: 不符合规范的语句 SELECT * FROM t1 WHERE id = (SELECT id FROM t2 LIMIT 1);
简单查询 简单查询是指从一个或多个表或视图中检索一个或多个列数据的操作。 以下示例作为一个典型的简单查询,展示在指定的表中查询部分信息和全部信息的操作。 --建表并插入数据。 gaussdb=# CREATE TABLE student( sid INT PRIMARY KEY
分组查询 分组查询通常用于配合聚合函数,查询分类统计的信息。 常见的聚合函数有总行数count()、求和sum()、平均值avg()、最小值min()、最大值max()。一般和GROUP BY联合使用。 -- 建表并插入数据。 gaussdb=# CREATE TABLE student
条件查询 条件查询是指查询出符合条件的数据。 以下示例作为一个典型的条件查询,展示在指定的表中根据具体的查询条件进行查询结果展示的操作。 --建表并插入数据。 gaussdb=# CREATE TABLE test_grade( id INT, name VARCHAR(20)
分组查询 分组查询通常用于配合聚合函数,查询分类统计的信息。 常见的聚合函数有总行数count()、求和sum()、平均值avg()、最小值min()、最大值max()。一般和GROUP BY联合使用。 -- 建表并插入数据。 gaussdb=# CREATE TABLE student
分区查询 查询指定分区的数据。 以下示例作为一个典型的分区查询,展示在指定的表中对信息进行分区操作,并根据指定分区进行查询的操作。 --创建范围分区表。 gaussdb=# CREATE TABLE test_range1( id INT, info VARCHAR(20)
连接查询 连接查询也可称为跨表查询,需要关联多个表进行查询。 --建表并插入数据。 gaussdb=# CREATE TABLE emp( id int, --员工编号 name varchar, --员工姓名 deptno int
复合查询 包含复合运算符的查询,即复合查询。所有的复合查询都具有相同的优先级,参加集合操作的各查询结果的列数、表达式的数量都必须一致,类型必须兼容。 常见的集合运算有: UNION:两个查询结果集的并集,对结果进行去重。 UNION ALL:两个查询的并集,只将两个查询的结果合并。
检索查询 对于常用的检索查询,嵌入式SQL提供了常规命令SELECT和FETCH的特殊变体。这些命令使用特殊的INTO子句,用以指定检索出来的数值存储在哪些宿主变量里。SELECT用于返回单行的查询,FETCH用于使用游标返回多行的查询。 使用SELECT /* * 假定有这个表:
分页查询 语法如下: SELECT query_list FROM table_name [ LIMIT { [offset,] count | ALL } ] offset :表示从第几行向后开始。 count:表示向后查询几条数据。 ALL:表示向后查询所有的数据。 -- 建表并插入100条数据。
连接查询 连接查询也可称为跨表查询,需要关联多个表进行查询。 -- 建表并插入数据。 gaussdb=# CREATE TABLE emp( id int, --员工编号 name varchar, --员工姓名 deptno int
查询规划 介绍查询优化器方法配置、开销常量、规划算法以及一些配置参数。 优化器中涉及的两个参数: INT_MAX数据类型INT的最大值,其值为2147483647。 DBL_MAX数据类型FLOAT的最大值。 全局设置查询规划相关参数除了客户业务外也会对数据库自身运维和监控业务造
子查询 【规则】禁止一条SQL语句中,出现重复子查询语句。 【建议】少用标量子查询。 标量子查询指结果为一个值,并且条件表达式为等值的子查询。 示例: 不符合规范的语句 SELECT * FROM t1 WHERE id = (SELECT id FROM t2 LIMIT 1);
查询规划 介绍查询优化器方法配置、开销常量、规划算法以及一些配置参数。 优化器中涉及的两个参数: INT_MAX数据类型INT的最大值,其值为2147483647。 DBL_MAX数据类型FLOAT的最大值。 全局设置查询规划相关参数除了客户业务外也会对数据库自身运维和监控业务造
SIBLINGS BY] [GROUP BY] 参数说明 level:伪列用于返回查询的层次。 START WITH:用于指定层次关系,即查询的根行。 CONNECT BY:用来指定父行和子行的关系。 PRIOR:用于指定哪一个是父级别。 ORDER SIBLINGS BY:指定同一层级之间的排列顺序。
Hint查询 根据指定的hint规则,对查询的结果进行优化。 以下示例作为一个典型的hint查询,展示在指定的表中根据具体的hint规则对查询的结果进行优化。 --创建表。 gaussdb=# CREATE TABLE t1(c1 int, c2 int, c3 int); gaussdb=#