6.4.1 集合子查询
集合子查询使用户能够从子查询表达式构造集合表达式。集合子查询在紧邻子查询之前使
用 MULTISET 关键字以将返回的值转换为 MULTISET 集合。但是,当在子查询表达式
之前使用 MULTISET 关键字时,数据库服务器不会更改基础表的各行而只会修改这些行
的副本。例如,如果将集合子查询传递至修改集合的用户定义的例程,那么会修改集合的
副本而不会修改基础表。
集合子查询是可采用下列任何形式的表达式:
• MULTISET(SELECT expression1, expression2... FROM tab_name...)
• MULTISET(SELECT ITEM expression FROM tab_name...)
在集合子查询中省略 ITEM 关键字
如果在集合子查询表达式中省略 ITEM 关键字,那么集合子查询就是其元素类型始终为未
命名的 ROW 类型的 MULTISET。未命名 ROW 类型的字段与在子查询的 Projection 子
句中指定的表达式的数据类型相匹配。
假设您创建了包含类型为 MULTISET 的列的以下表:
CREATE TABLE tab2 
 (
 id_num INT, 
 ms_col MULTISET(ROW(a INT) NOT NULL)
 );
下列查询显示如何在 WHERE 子句中使用集合子查询来将子查询返回的 INT 值的行转换
为类型为 MULTISET 的集合。在此示例中,数据库服务器在tab2 的 ms_col 列等于集合子
查询表达式的结果时返回行。
图: 查询
SELECT id_num FROM tab2 
 WHERE ms_col = (MULTISET(SELECT int_col FROM tab1)); 
该查询在集合子查询中省略了 ITEM 关键字,因此子查询返回的 INT 值类型为
MULTISET(ROW(a INT) NOT NULL)(它与 tab2 的 ms_col 列的数据类型相匹配)。

GBase 8s V8.8 SQL 指南:教程-6.4.1(1)相关推荐

  1. GBase 8s V8.8 SQL 指南:教程-5.1.5(1)

    5.1.5 智能大对象函数 数据库服务器提供了四个 SQL 函数,您可以从 SQL 语句中调用这些函数来导入和导出智 能大对象.下表显示智能大对象函数. 表 1. 智能大对象的 SQL 函数 有关智能 ...

  2. GBase 8s V8.8 SQL 指南:教程-1.4

    1.4 示例代码约定 SQL 代码的示例在整个出版物中出现.除非另有说明,代码不特定于任何单个的 GBase 8s 应用程序开发工具. 如果示例中仅列出 SQL 语句,那么它们将不用分号定界.例如:您 ...

  3. GBase 8s V8.8 SQL 指南:教程-5.1.1

    5.1.1 聚集函数 聚集函数对一组查询返回一个值.聚集函数取用依赖于 SELECT 语句的 WHERE 子句返 回的一组行的值.没有 WHERE 子句时,聚集函数取用依赖于 FROM 子句组成的所有 ...

  4. GBase 8s V8.8 SQL 指南:教程-8.2.2

    8.2.2 访问外部数据库对象 要访问外部数据库对象: • 您必须持有对这些对象的适当的访问许可.  • 必须将两个数据库都设置为相同的语言环境. 重要: 分布式事务不可访问另一 GBase 8s 服 ...

  5. GBase 8s V8.8 SQL 指南:教程-4.4

    4.4 总结 本章介绍了通过使用 SELECT 语句来查询关系数据库以从复杂类型中选择数据的样本语 法和结果.选择行类型数据一节显示如何执行下列操作: • 从类型表和列中选择行类型数据 • 将行类型表 ...

  6. linux安装南大通用数据库 GBase 8s V8.8

    linux安装南大通用数据库 GBase 8s V8.8 1.操作系统.数据库 2.下载链接 3.安装文档 4.安装前准备 4.1.以root用户创建 gbasedbt 组和用户 4.2.创建 GBa ...

  7. GBase 8s V8.9 安全管理器 用户手册-1

    1GBase安全管理器功能简介 GBase安全管理器是为GBase 8s V8.9安全管理员提供的强制访问控制的设置.授权的工具.GBase安全管理器为每个主体和客体设置安全级别,包括密级.范畴和访问 ...

  8. GBASE 8s 数据库 安装与卸载

    1 系统要求 1.1 硬件要求 1.2 操作系统要求 GBase 8s 产品需要部署于 UOS V20 操作系统,鲲鹏920芯片上,建议以 Software Development Workstati ...

  9. GBase 8s灾备集群HAC (四) 异地灾备RSS

    目录 1.概述 2.安装 3.配置环境 4.连接主库 5.功能测试: 6.可能出现的异常error: 1.概述 前面提到的HAC主备也叫同城备份 为了保证主备双库的数据一致性,HAC的主库备库一般都很 ...

最新文章

  1. C++11 正则表达式——实例1
  2. Android数据库Realm实践
  3. Vite + React 组件开发实践
  4. 如何知道PostgreSQL数据库下每个数据库所对应的目录
  5. MySQL - 实战 棋牌游戏数据库开发
  6. 同余原理与丢番图方程
  7. Mysql数据表一直显示使用中
  8. 什么是DevOps模式
  9. 51单片机学习——9--温度传感器DS18B20
  10. 快卫士是如何帮您保驾护航
  11. CocosCreator H5小游戏屏幕适配解决方案
  12. 领导和你关系再好,你也要憋着不说4种“私话”,后果会很严重
  13. 狭义相对论的洛伦兹变换几何推导
  14. (原創) 如何將DE2_70_TV範例加上Sobel Edge Detector? (SOC) (Verilog) (Image Processing) (DE2-70)...
  15. 如何让光伏发电系统收益最大化?
  16. 区域惯性矩matlab,图示截面图形对形心轴z的惯性矩Iz= 。【图片
  17. 消失的预测、陨落的交叉熵
  18. 联想r720 加8g内存方法
  19. 新零售解读:新零售三年,有哪些公司成功转型升级?
  20. mysql多表操作语句_MYSQL数据库语句之多表操作(三)

热门文章

  1. 客服沟通效率太低怎么破局?
  2. 1 计算机基础和环境搭建
  3. python人脸识别防小偷_一篇文章带你了解Python 人脸识别有多简单
  4. 数据分析面试中的业务问题
  5. Open Source 电子商务网店系统
  6. 玩转prometheus告警 alertmanger(一)之prometheus告警规则
  7. DDD领域驱动设计实战 - 创建实体身份标识的常用策略
  8. python 自动编写新闻_Python多篇新闻自动采集
  9. win7启动提示:bootMGR被压缩
  10. python marshal loads failed_python使用marshal模块序列化实例