按键查询嵌套 JSON 数组
在 MySQL 中,您可以使用 JSON_TABLE 的组合从嵌套 JSON 数组中检索特定值() 函数和 WHERE 子句。
考虑以下 JSON 数组:
<code class="json">[ {"Race": "Orc", "strength": 14}, {"Race": "Knight", "strength": 7} ]</code>
要检索骑士的力量,您可以使用以下查询:
<code class="sql">SELECT j.strength FROM mytable, JSON_TABLE(mycol, '$[*]' COLUMNS ( race VARCHAR(10) PATH '$.Race', strength INT PATH '$.strength' )) AS j WHERE j.race = 'Knight'</code>
此查询使用 JSON_TABLE() 函数从 JSON 数组创建一个虚拟表,其中每个属性都有列。然后使用 WHERE 子句根据“Race”属性过滤结果。
优点和限制
使用 JSON_TABLE() 具有以下几个优点:
但是,它也有一些限制:
替代方法
如果数据结构未知或频繁更改,另一种方法是使用 JSON_SEARCH() 函数找到所需值的路径,然后使用路径运算符提取该值。但是,此方法不允许像 JSON_TABLE() 那样轻松地进行选择或投影。
以上是如何从 MySQL 中的嵌套 JSON 数组查询'骑士”的强度值?的详细内容。更多信息请关注PHP中文网其他相关文章!