- 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”然後可用於訪問未巢狀的資料。
廣告