- BigQuery 教程
- BigQuery - 首页
- BigQuery - 概述
- BigQuery - 初始设置
- BigQuery 与本地 SQL 引擎的比较
- BigQuery - Google Cloud Console
- BigQuery - Google Cloud 层次结构
- 什么是 Dremel?
- 什么是 BigQuery Studio?
- BigQuery - 数据集
- BigQuery - 表
- BigQuery - 视图
- BigQuery - 创建表
- BigQuery - 基本模式设计
- BigQuery - 修改表
- BigQuery - 复制表
- 删除和恢复表
- BigQuery - 填充表
- 标准 SQL 与旧版 SQL
- BigQuery - 编写第一个查询
- BigQuery - CRUD 操作
- 分区和集群
- BigQuery - 数据类型
- BigQuery - 复杂数据类型
- BigQuery - STRUCT 数据类型
- BigQuery - 数组数据类型
- BigQuery - JSON 数据类型
- BigQuery - 表元数据
- BigQuery - 用户自定义函数
- 连接到外部数据源
- 集成计划查询
- 集成 BigQuery API
- BigQuery - 集成 Airflow
- 集成连接的表格
- 集成数据传输
- BigQuery - 物化视图
- BigQuery - 角色和权限
- BigQuery - 查询优化
- BigQuery - BI 引擎
- 监控使用情况和性能
- BigQuery - 数据仓库
- 挑战和最佳实践
- BigQuery 资源
- BigQuery - 快速指南
- BigQuery - 资源
- BigQuery - 讨论
BigQuery - 数组数据类型
ARRAY 与 STRUCT 的比较
与允许包含不同类型数据的 STRUCT 类型不同,ARRAY 数据类型必须包含相同类型的数据。
- 在像Python这样的编程语言中,ARRAY(也称为列表)用方括号表示:[ ]。
- STRUCT 类型可以包含其他 STRUCT(以创建非常嵌套的数据),ARRAY 不能包含另一个 ARRAY。
- 但是,ARRAY 可以包含 STRUCT,因此开发人员可能会遇到包含多个嵌套 STRUCT 的 ARRAY。
BigQuery 不会将列标记为显式的 ARRAY 类型。相反,它以不同的模式表示。常规的 STRING 类型具有“NULLABLE”模式,而 ARRAY 类型具有“REPEATED”模式。
可以使用点选择 STRUCT 类型,但是 ARRAY 类型在表面层操作方面受到更多限制。
可以将 ARRAY 作为分组元素进行选择。
但是,使用点或任何其他方法选择数组中的元素是不可能的,因此这将不起作用 -
UNNEST() 函数
要访问 store_information 中的名称,需要执行一个额外的步骤:UNNEST(),这是一个将数据展平以使其更容易访问的函数。
UNNEST() 函数与逗号一起在 FROM 子句中使用。作为上下文:逗号代表隐式的 CROSS JOIN。
要正确访问此 ARRAY,请使用以下查询 -
它将为您获取如下所示的输出表 -
除了使用 UNNEST() 之外,还可以为记录设置别名。生成的别名“wd”然后可用于访问未嵌套的数据。
广告