すべてのプロダクト
Search
ドキュメントセンター

PolarDB:COLUMN_VALUE

最終更新日:Oct 11, 2024

TABLE式でCOLUMN_VALUE疑似列を使用して、ネストされたテーブルなどのコレクションからデータを取得できます。 コレクションの要素を含む、COLUMN_VALUEという名前の単一の列を持つ仮想テーブルが返されます。

使用法

TABLE式のさまざまな句でCOLUMN_VALUE疑似列を使用できます。 句には、SELECT LISTWHEREHAVINGORDER BY、およびGROUP BYが含まれます。

  • user_namesという名前のネストされたテーブルコレクションを作成します。 TABLE式でCOLUMN_VALUE疑似列を使用して、user_namesコレクション内のすべてのユーザー名を取得します。

    CREATE TYPE user_names IS TABLE OF varchar2(100);
    SELECT column_value FROM TABLE(user_names('Alice', 'Bob', 'Charlie'));

    サンプル結果:

     column_value 
    --------------
     Alice
     Bob
     Charlie
    (3 rows)
  • SELECT LISTWHEREHAVINGORDER BYGROUP BY句のCOLUMN_VALUE疑似列を使用して、user_namesコレクション内の特定のデータを取得します。

    • CREATE TYPE user_names IS TABLE OF varchar2(100);
      SELECT column_value FROM TABLE(user_names('Alice', 'Bob', 'Charlie', 'Alice', 'Alice', 'Bob', 'Charlie')) WHERE column_value = 'Alice';

      サンプル結果:

       column_value
      --------------
       Alice
       Alice
       Alice
      (3 rows)
    • SELECT column_value FROM TABLE(user_names('Alice', 'Bob', 'Charlie', 'Alice', 'Alice', 'Bob', 'Charlie')) GROUP BY column_value HAVING column_value = 'Alice' ORDER BY column_value;

      サンプル結果:

       column_value
      --------------
       Alice
      (1 row)