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

PostgreSQLでビューを作成する方法

    PostgreSQLビューを使用すると、クエリを簡単に保存して後で呼び出すことができます。 SQLビューは、頻繁に実行する必要のあるクエリを保存するのに非常に役立ちます。 PostgreSQLcreateviewステートメントを使用してPostgreSQLでビューを作成する方法は次のとおりです。

    PostgreSQLでビューを作成する方法

    PostgreSQLでビューを作成する手順は次のとおりです。 PostgreSQLのcreateviewステートメントの構文は次のとおりです

    CREATE [TEMP | TEMPORARY] VIEW view_name AS
    SELECT column1, column2.....
    FROM table_name
    WHERE [condition];

    上記のSQLクエリでは、 view_name SQLクエリを格納するSQLビューの名前です。 TEMP / TEMPORARYは、現在のセッションの終了時にドロップされる一時ビューを作成するためのオプションのキーワードです。

    ASキーワードの後に​​、ビューとして保存するSQLクエリ全体を入力できます。

    PostgreSQLでビューを作成する例を次に示します。次のテーブルproduct_salesがあるとします。

    postgres=# select * from product_sales;
    
     product | order_date | sale
    ---------+------------+------
     A       | 2020-05-01 |  250
     B       | 2020-05-01 |  350
     C       | 2020-05-01 | 1250
     A       | 2020-05-02 |  450
     B       | 2020-05-02 |  650
     C       | 2020-05-02 | 1050
     A       | 2020-05-03 |  150
     B       | 2020-05-03 |  250
     C       | 2020-05-03 | 1850
    

    製品ごとの総売上高を計算するクエリからSQLビューを作成するとします。 PostgreSQLビューを作成するためのSQLクエリは次のとおりです。

    postgres=# create view sales_summary as
               select product, sum(sale)
               from product_sales
               group by product;
    
    postgres=# select * from sales_summary;
     product | sum
    ---------+------
     B       | 1250
     C       | 4150
     A       |  850
    

    ボーナスリード:PostgreSQLでグループごとに最初の行を取得する方法

    PostgreSQLは複数のテーブルからビューを作成します

    同じアプローチを使用して、複数のテーブルからPostgreSQLでビューを作成することもできます。 CREATE VIEWステートメントのSELECTクエリを置き換えるだけで、複数のテーブルからデータをフェッチできます。

    これは、複数のテーブルからのPostgreSQLCREATEVIEWの例です。

    postgres=# create view multi_table as
    select product,sale,order_date, order_id
    from product_sales,orders
    where product_sales.order_id=orders.order_id;
    

    ボーナスリード:PostgreSQLで欠落している日付を埋める方法

    PostgreSQLでビュー定義を表示する方法

    \ d + を使用すると、PostgreSQLのビュー定義を簡単に確認できます。 指図。ビュー定義を表示するSQLクエリは次のとおりです

    postgres=# \d+ sales_summary;
                          View "public.sales_summary"
     Column  |          Type          | Modifiers | Storage  | Description
    ---------+------------------------+-----------+----------+-------------
     product | character varying(255) |           | extended |
     sum     | bigint                 |           | plain    |
    View definition:
     SELECT product_sales.product,
        sum(product_sales.sale) AS sum
       FROM product_sales
      GROUP BY product_sales.product;
    

    ボーナスリード:PostgreSQLでパーセンタイルを計算する方法

    pg_get_viewdefを使用して同じことを行うこともできます 関数

    postgres=# select pg_get_viewdef('sales_summary', true);
               pg_get_viewdef
    ------------------------------------
      SELECT product_sales.product,    +
         sum(product_sales.sale) AS sum+
        FROM product_sales             +
       GROUP BY product_sales.product;
    

    ボーナスリード:PostgreSQLで行番号を取得する方法

    PostgreSQLでビューを削除する方法

    DROPVIEWステートメントを使用してPostgreSQLビューを簡単に削除できます。

    postgresql# DROP VIEW view_name;

    PostgreSQLでビューをドロップするSQLクエリは次のとおりです

    postgresql# DROP VIEW sales_summary;

    うまくいけば、PostgreSQLでビューを簡単に作成できます。

    Ubiqを使用すると、データを数分で簡単に視覚化し、リアルタイムのダッシュボードで監視できます。今日お試しください。

    1. SQL ServerでのASIN()の例

    2. MySQL:FROM句の制限でサブクエリを使用して表示

    3. SQLiteで英数字以外の文字のみを含む行を返す

    4. ルーム永続ライブラリを使用してパラメータで更新