Изгледите на PostgreSQL ви позволяват лесно да съхранявате заявки и да ги извиквате по-късно. SQL изгледите са много полезни за запазване на заявки, които трябва да изпълнявате често. Ето как да създадете изглед в PostgreSQL с помощта на PostgreSQL изявление за създаване на изглед.
Как да създадете изглед в PostgreSQL
Ето стъпките за създаване на изглед в PostgreSQL. Ето синтаксиса на PostgreSQL изявление за създаване на изглед
CREATE [TEMP | TEMPORARY] VIEW view_name AS SELECT column1, column2..... FROM table_name WHERE [condition];
В горната SQL заявка име_на изглед е името на 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 изглед от заявка, която изчислява общите продажби на продукт. Ето SQL заявката за създаване на изглед на PostgreSQL.
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 от множество таблици, като използвате същия подход. Просто заменете заявката SELECT в израза CREATE VIEW, за да извлечете данни от множество таблици.
Ето пример за PostgreSQL CREATE VIEW от множество таблици.
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
Можете лесно да видите дефиницията на изглед в PostgreSQL, като използвате \d+ команда. Ето 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
Можете лесно да пуснете изгледи на PostgreSQL, като използвате оператор DROP VIEW.
postgresql# DROP VIEW view_name;
Ето SQL заявката за пускане на изглед в PostgreSQL
postgresql# DROP VIEW sales_summary;
Надяваме се, че можете лесно да създадете изглед в PostgreSQL.
Ubiq улеснява визуализирането на данни за минути и наблюдение в табла за управление в реално време. Опитайте днес!