| 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 构造函数位于每个集合的元素前面。花括号({})划分集合的元素;逗号隔开集合的个别元素。