sql >> データベース >  >> RDS >> PostgreSQL

jsonbデータでpostgresqlanyを使用する方法

    employees->'employment'->'benefits' はjson配列であるため、anyでその要素を使用するようにネストしないでください。 比較。関数 jsonb_array_elements_text()を使用します ラテラルジョイン

    select *
    from 
        employees, 
        jsonb_array_elements_text(employees->'employment'->'benefits') benefits(benefit)
    where
        benefit = any('{Insurance A, Insurance B}'::text[]);
    

    構文

    from 
        employees, 
        jsonb_array_elements_text(employees->'employment'->'benefits')
    

    と同等です
    from 
        employees, 
        lateral jsonb_array_elements_text(employees->'employment'->'benefits')
    

    lateralという単語 省略できます。 ドキュメント の場合 :

    参照: LATERALとPostgreSQLのサブクエリの違いは何ですか?

    構文

    from jsonb_array_elements_text(employees->'employment'->'benefits') benefits(benefit)
    

    ドキュメント によるエイリアシングの形式です。



    1. RDSデータベースのローカルレプリカ

    2. MySQL高可用性フレームワークの説明–パートI:はじめに

    3. 色で画像を検索するためにMySQLに画像のカラーパターンを保存するデータベース設計

    4. AndroidアプリケーションでのAmazonRDSの使用