sql怎么提取多个并列json

   2025-02-15 9290
核心提示:在SQL中提取多个并列JSON可以使用JSON_TABLE函数。JSON_TABLE函数用于将JSON数据转换为关系表。它的语法如下:JSON_TABLE(json_c

在SQL中提取多个并列JSON可以使用JSON_TABLE函数。

JSON_TABLE函数用于将JSON数据转换为关系表。它的语法如下:

JSON_TABLE(json_column, '$[*]' COLUMNS (column1 data_type PATH '$.key1', column2 data_type PATH '$.key2', ...) ) AS table_alias

其中,json_column是包含多个并列JSON的列名,'$[*]'是JSON路径表达式,表示提取所有的JSON元素。COLUMNS子句后面是列的定义,可以指定每个列的名称、数据类型以及JSON路径。

下面是一个示例,假设有一个表格students,其中包含一个名为info的JSON列,该列包含多个并列的JSON对象,每个对象都有name和age属性:

CREATE TABLE students (  id INT PRIMARY KEY,  info JSON);INSERT INTO students (id, info) VALUES (1, '[{"name": "Alice", "age": 20}, {"name": "Bob", "age": 21}, {"name": "Charlie", "age": 22}]');SELECT s.id, jt.name, jt.ageFROM students sCROSS JOIN JSON_TABLE(s.info, '$[*]' COLUMNS (  name VARCHAR(50) PATH '$.name',  age INT PATH '$.age')) AS jt;

通过CROSS JOIN和JSON_TABLE函数,我们可以将每个并列的JSON对象转换为关系表格,然后使用普通的SQL查询语句进行操作。在上面的示例中,我们从students表中提取了每个学生的id、name和age属性。

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言