MySQL 配列内のキーによる JSON 値の検索
MySQL 8.0.15 では、JSON オブジェクトの配列内の特定の値を検索できます。挑戦的。ただし、JSON_TABLE() 関数は、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 配列が「race」と「strength」列を含むテーブルに変換され、WHERE 句を適用して目的の値を見つけることができるようになります。
ただしJSON_TABLE() を使用する場合の欠点は、クエリで目的の属性を指定する必要があることですが、属性が不明な場合は指定できない可能性があります。これは、JSON データを操作してクエリを簡素化し、複雑な結合を回避するときに属性を定義することの重要性を強調しています。
以上がMySQL 8.0.15 で JSON 配列内の特定の値を効率的に検索するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。