- 對比Excel,輕松學習SQL數據分析
- 張俊紅
- 457字
- 2020-07-23 16:42:02
5.5 JSON列解析
有時候,數據庫中的數據是按照JSON格式存儲的,什么是JSON格式呢?如果讀者學過Python,應該都知道字典這種數據結構,就是最外層用花括號括起來,花括號中是key:value的形式,key可以理解成普通表中的字段名,value就是這個字段的取值,一般花括號中會包含多個key:value,也就是雖然只用了一列位置,但是存儲了多列數據,用戶可以根據需要選擇對應的key:value值。在SQL中,我們可以使用json_extract()對JSON列中的數據進行獲取。
chapter5表中的score列就是JSON格式,比如,我們要獲取每個id對應的數學成績,可以通過如下代碼實現:
select id ,json_extract(score,'$.數學') as "數學成績" from demo.chapter5
運行上面的代碼,具體運行結果如下表所示。

json_extract()主要有兩個參數,第一個參數需要說明JSON格式的列名,此處是score列;第二個參數需要說明你要獲取JSON中具體哪個key對應的value值,注意key前面的$符號不可少。此處是要獲取“數學”這個key對應的數學成績這個value值。
json_extract()用于獲取JSON中key對應的value值,如果我們想要查看JSON中都有哪些key,則可以通過json_keys()來實現。比如,我們要查看每個id對應的score列中都有哪些key,就可以通過如下代碼實現:
select id ,json_keys(score) as "科目" from demo.chapter5
運行上面的代碼,具體運行結果如下表所示。

推薦閱讀
- 中文版3ds Max 2013-VRay效果圖制作從新手到高手
- 爸媽微信e時代
- Photoshop CS6平面設計應用教程(第4版)
- Adobe Photoshop 網頁設計與制作標準實訓教程(CS5修訂版)
- 四時風月繪:國風水墨CG插畫繪畫技法
- 邊做邊學:Photoshop CS6 圖像制作案例教程
- COSPLAY的后期藝術:Lightroom+Photoshop修圖技法攻略
- PowerPoint 2019從入門到精通(移動學習版)
- After Effects CS6入門與提高
- 中文版Rhino 5.0完全自學教程(第3版)
- Photoshop CC移動UI設計實用教程
- CAXA 實體設計2013案例課堂
- Photoshop+CorelDRAW平面設計案例實戰:從入門到精通(視頻自學全彩版)
- Photoshop CS6數碼照片處理入門到精通
- Excel革命!超級數據透視表Power Pivot與數據分析表達式DAX快速入門