在Bigquery中,结构数组可以包含嵌套列。例如,考虑一个名为“People”的表,其中包含具有多个地址的人员信息。每个人的记录包括名称和地址。也许一个人有多个地址,因此可以将地址存储为结构数组,并将每个地址存储为结构体。
以下是如何在Bigquery中创建此类型的结构数组的示例:
CREATE TABLE People (
Name STRING,
Addresses ARRAY
>
)
例如,可以向此表中添加以下数据:
INSERT INTO People (Name, Addresses)
VALUES (
"John",
[
STRUCT("123 Main St", "Anytown", "CA", 12345),
STRUCT("456 Elm St", "Othertown", "NY", 67890)
]
)
现在,可以使用以下查询来检索存储在表中的地址数据,该查询将使用“UNNEST”函数展开嵌套数组元素:
SELECT Name, Address.StreetAddress, Address.City
FROM People, UNNEST(Addresses) AS Address
结果将显示每个人的姓名和每个地址的街道地址和城市。