キーによるネストされた JSON 配列のクエリ
MySQL では、JSON_TABLE の組み合わせを使用して、ネストされた JSON 配列から特定の値を取得できます。 () 関数と WHERE 句。
次の JSON 配列を考えてみましょう:
<code class="json">[ {"Race": "Orc", "strength": 14}, {"Race": "Knight", "strength": 7} ]</code>
Knight の強さを取得するには、次のクエリを使用できます:
<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 配列から「Knight」の強度値をクエリする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。