PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как да създадете изглед в PostgreSQL

Изгледите на 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 улеснява визуализирането на данни за минути и наблюдение в табла за управление в реално време. Опитайте днес!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. GROUP BY в Postgres - няма равенство за JSON тип данни?

  2. Как да конкатенира низове от низ поле в PostgreSQL заявка „групиране по“?

  3. Как да се възползвате от новите функции за разделяне в PostgreSQL 11

  4. Вземете броя на дните в месеца в PostgreSQL

  5. Как да получите PostgreSQL на VPS / Специализиран сървър