ホームページ  >  記事  >  データベース  >  MySQL で JSON 配列をクエリする方法: JSON_TABLE() を使用して JSON 配列から特定の値を取得できますか?

MySQL で JSON 配列をクエリする方法: JSON_TABLE() を使用して JSON 配列から特定の値を取得できますか?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-30 00:16:03181ブラウズ

How to Query JSON Arrays in MySQL: Can JSON_TABLE() be used to retrieve specific values from a JSON array?

MySQL での JSON 配列のクエリ: JSON_TABLE() を使用した解決策

JSON_SEARCH などの SQL 関数を使用して、JSON 配列から特定の値を取得できます。ただし、これは目的のノードへのパスを提供するだけです。パス検索と実際の値の取得を組み合わせるには、JSON_TABLE() 関数を利用できます。

JSON_TABLE() は、JSON ドキュメントを仮想テーブルに変換し、その要素に WHERE や SELECT などの 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'

このクエリは騎士種族の強さの値を返します。ただし、属性名とそのパスを明示的に定義する必要がありますが、データ構造が動的または未定義の場合は実行できない可能性があります。

JSON_TABLE() を使用するには、JSON ドキュメントを JSON ドキュメントに変換する必要があることに注意してください。すべてのクエリの仮想テーブル。データが大きい場合、パフォーマンスに影響を与える可能性があります。さらに、このアプローチでは、検索する属性フィールドを指定する必要があるため、完全に未定義のデータ構造への使用が制限されます。

以上がMySQL で JSON 配列をクエリする方法: JSON_TABLE() を使用して JSON 配列から特定の値を取得できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。