| GBase 8s SQL 指南:教程 / 从复杂类型选择数据 | |
本节描述如何查询对集合类型定义的列。集合类型是一种复杂 数据类型。其中每个集合值包含具有相同数据类型的一组元素。有关集合数据类型的详细描述,请参阅 GBase 8s 数据库设计和实现指南。有关如何访问集合包含的个别元素的信息,请参阅处理 SELECT 语句中的集合。
图: manager 表
CREATE TABLE manager
          (
          mgr_name        VARCHAR(30),
          department      VARCHAR(12),
          direct_reports  SET(VARCHAR(30) NOT NULL),
          projects        LIST(ROW(pro_name VARCHAR(15),
          pro_members SET(VARCHAR(20) NOT NULL) 
          ) NOT NULL)
          )
        图: 查询
SELECT department, direct_reports FROM manager
图: 查询结果
department      marketing
            direct_reports  SET {Smith, Waters, Adams, Davis, Kurasawa}
            
            department      engineering
            ddirect_reports  SET {Joshi, Davis, Smith, Waters, Fosmire, Evans, Jones}
            
            department      publications
            direct_reports  SET {Walker, Fremont, Porat, Johnson}
            
            department      accounting
            direct_reports  SET {Baker, Freeman, Jacobs}
            ⋮
        对集合类型查询的输出总是包括类型构造函数,它指定集合是 SET 、MULTISET 或 LIST 。例如:在此结果中,SET 构造函数位于每个集合的元素前面。花括号({})划分集合的元素;逗号隔开集合的个别元素。