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