检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
Exist-Sublink包含相关条件 Where子句中必须包含上一层查询的表中的列,子查询的其它部分不能含有上层查询的表中的列。其它限制如下。 子查询必须有from子句。 子查询不能含有with子句。 子查询不能含有聚集函数。 子查询里不能包含集合操作、排序、limit、windowagg、having操作。
其他优化器选项”章节。子查询从大类上来看,分为非相关子查询和相关子查询: 非相关子查询None-Correlated SubQuery 子查询的执行不依赖于外层父查询的任何属性值。这样子查询具有独立性,可独自求解,形成一个子查询计划先于外层的查询求解。 例如: 1 2 3 4 5
不能包含上一层查询表中的列(可以包含更高层查询表中的列)。 不能包含易变函数。 例如: Exist-Sublink包含相关条件 Where子句中必须包含上一层查询的表中的列,子查询的其它部分不能含有上层查询表中的列。其它限制如下。 子查询必须含有from子句。 子查询不能含有with子句。
IN-Sublink无相关条件 不能包含上一层查询的表中的列(可以包含更高层查询表中的列)。 不能包含易变函数。 Exist-Sublink包含相关条件 Where子句中必须包含上一层查询的表中的列,子查询的其它部分不能含有上层查询的表中的列。其它限制如下。 子查询必须有from子句。 子查询不能含有with子句。
不能包含上一层查询的表中的列(可以包含更高层查询表中的列)。 不能包含易变函数。 例如: Exist-Sublink包含相关条件 Where子句中必须包含上一层查询的表中的列,子查询的其它部分不能含有上层查询的表中的列。其它限制如下。 子查询必须有from子句。 子查询不能含有with子句。
Where子句中必须包含上一层查询的表中的列,子查询的其它部分不能含有上层查询表中的列。其它限制如下: 子查询必须含有from子句。 子查询不能含有with子句。 子查询不能含有聚集函数。 子查询里不能包含集合操作、排序、limit、windowagg、having操作。 子查询不能包含易变函数。
批量查询 此示例主要使用setFetchSize调整客户端内存使用,原理是通过数据库游标来分批获取服务端数据,但会加大网络交互,可能会损失部分性能。由于游标事务内有效,故需要先关闭自动提交事务,最后执行手动提交事务。 代码运行的前提条件:根据实际情况添加opengaussjdbc
子查询 一个查询可以嵌套在另一个查询中,其结果作为另一个查询的数据来源或判断条件。其中外层查询也叫父查询,内层查询也叫子查询。 按照子查询的返回记录数分类可分为单行子查询,多行子查询。 按照子查询是否被执行多次分类可分为关联子查询,非关联子查询。 单行子查询 单行子查询操作符有>=、>、<=、<、<>。
子查询 一个查询可以嵌套在另一个查询中,其结果作为另一个查询的数据来源或判断条件。其中外层查询也叫父查询,内层查询也叫子查询。 按照子查询的返回记录数分类可分为单行子查询,多行子查询。 按照子查询是否被执行多次分类可分为关联子查询,非关联子查询。 单行子查询 单行子查询操作符有>=、>、<=、<、<>。
复合查询 包含复合运算符的查询,即复合查询。所有的复合查询都具有相同的优先级,参加集合操作的各查询结果的列数、表达式的数量都必须一致,类型必须兼容。 常见的集合运算有: UNION:两个查询结果集的并集,对结果进行去重。 UNION ALL:两个查询的并集,只将两个查询的结果合并。
批量查询 此示例主要使用setFetchSize调整客户端内存使用,原理是通过数据库游标来分批获取服务端数据,但会加大网络交互,可能会损失部分性能。由于游标事务内有效,故需要先关闭自动提交事务,最后执行手动提交事务。 代码运行的前提条件:根据实际情况添加gaussdbjdbc.j
SQL查询和子查询 GaussDB数据库兼容除分层查询以外的SQL查询和子查询。 表1 SQL查询和子查询 序号 Oracle数据库 GaussDB数据库 差异 1 创建简单查询 支持 - 2 分层查询 支持,有差异 GaussDB仅支持Oracle中的CONNECT_BY_FILTERING
条件查询 条件查询指查询出符合条件的数据。 --建表并插入数据。 gaussdb=# CREATE TABLE test_grade( id INT, name VARCHAR(20), score FLOAT -- 成绩 ); gaussdb=#
SQL查询和子查询 GaussDB数据库兼容除分层查询以外的SQL查询和子查询。 表1 SQL查询和子查询 序号 Oracle数据库 GaussDB数据库 差异 1 创建简单查询 支持 - 2 分层查询 不支持 - 3 UNION [ALL],INTERSECT,减运算符 支持 -
复合查询 包含复合运算符的查询,即复合查询。所有的复合查询都具有相同的优先级,参加集合操作的各查询结果的列数、表达式的数量都必须一致,类型必须兼容。 常见的集合运算有: UNION:两个查询结果集的并集,对结果进行去重。 UNION ALL:两个查询的并集,只将两个查询的结果合并。
条件查询 条件查询指查询出符合条件的数据。 --建表并插入数据。 gaussdb=# CREATE TABLE test_grade( id INT, name VARCHAR(20), score FLOAT -- 成绩 ); gaussdb=#
ts_rewrite的这种形式接受一个起始查询和SQL查询命令。 这里的查询命令是文本字串形式,必须产生两个tsquery列。查询结果的每一行,第一个字段的值(目标子查询) 都会被第二个字段(替代子查询)替换。 当多个规则需要重写时,重写顺序非常重要; 因此在实践中需要使用ORDER BY将源查询按照某些字段进行排序。
ts_rewrite的这种形式接受一个起始查询和SQL查询命令。 这里的查询命令是文本字串形式,必须产生两个tsquery列。查询结果的每一行,第一个字段的值(目标子查询) 都会被第二个字段(替代子查询)替换。 当多个规则需要重写时,重写顺序非常重要; 因此在实践中需要使用ORDER BY将源查询按照某些字段进行排序。
分页查询 语法如下: SELECT query_list FROM table_name [ LIMIT { [offset,] count | ALL } ] offset :表示从第几行向后开始。 count:表示向后查询几条数据。 ALL:表示向后查询所有的数据。 --建表并插入100条数据。
分区查询 查询指定分区的数据。 --创建范围分区表。 gaussdb=# CREATE TABLE test_range1( id INT, info VARCHAR(20) ) PARTITION BY RANGE (id) ( PARTITION p1