ホームページ > データベース > mysql チュートリアル > MySQL 8.0.15 で JSON 配列内の特定の値を効率的に検索するにはどうすればよいですか?

MySQL 8.0.15 で JSON 配列内の特定の値を効率的に検索するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-10-29 00:46:30
オリジナル
271 人が閲覧しました

How to Efficiently Search for a Specific Value within a JSON Array in MySQL 8.0.15?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート