PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

So erstellen Sie eine Ansicht in PostgreSQL

Mit PostgreSQL-Ansichten können Sie Abfragen einfach speichern und später aufrufen. SQL-Ansichten sind sehr nützlich, um Abfragen zu speichern, die Sie häufig ausführen müssen. So erstellen Sie eine Ansicht in PostgreSQL mit der PostgreSQL-Anweisung create view.

So erstellen Sie eine Ansicht in PostgreSQL

Hier sind die Schritte zum Erstellen einer Ansicht in PostgreSQL. Hier ist die Syntax der PostgreSQL-Create-View-Anweisung

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

In der obigen SQL-Abfrage view_name ist der Name der SQL-Ansicht, in der Sie Ihre SQL-Abfrage speichern möchten. TEMP/TEMPORARY ist ein optionales Schlüsselwort zum Erstellen temporärer Ansichten, die am Ende Ihrer aktuellen Sitzung gelöscht werden.

Nach dem Schlüsselwort AS können Sie Ihre gesamte SQL-Abfrage eingeben, die Sie als Ansicht speichern möchten.

Hier ist ein Beispiel zum Erstellen einer Ansicht in PostgreSQL. Angenommen, Sie haben die folgende Tabelle 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

Angenommen, Sie möchten eine SQL-Ansicht aus einer Abfrage erstellen, die den Gesamtumsatz pro Produkt berechnet. Hier ist die SQL-Abfrage zum Erstellen einer PostgreSQL-Ansicht.

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

Bonuslektüre:So erhalten Sie die erste Zeile pro Gruppe in PostgreSQL

PostgreSQL-Ansicht aus mehreren Tabellen erstellen

Sie können mit demselben Ansatz auch eine Ansicht in PostgreSQL aus mehreren Tabellen erstellen. Ersetzen Sie einfach die SELECT-Abfrage in der CREATE VIEW-Anweisung, um Daten aus mehreren Tabellen abzurufen.

Hier ist ein Beispiel für PostgreSQL CREATE VIEW aus mehreren Tabellen.

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;

Bonuslektüre:Wie man fehlende Daten in PostgreSQL einträgt

Ansichtsdefinition in PostgreSQL anzeigen

Sie können die Ansichtsdefinition in PostgreSQL ganz einfach mit \d+ anzeigen Befehl. Hier ist die SQL-Abfrage zum Anzeigen der Ansichtsdefinition

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;

Bonus-Lesetext:So berechnen Sie das Perzentil in PostgreSQL

Sie können dasselbe auch mit pg_get_viewdef tun Funktion

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;

Bonuslektüre:So erhalten Sie die Zeilennummer in PostgreSQL

So löschen Sie Ansichten in PostgreSQL

Sie können PostgreSQL-Ansichten einfach mit der DROP VIEW-Anweisung löschen.

postgresql# DROP VIEW view_name;

Hier ist die SQL-Abfrage zum Löschen der Ansicht in PostgreSQL

postgresql# DROP VIEW sales_summary;

Hoffentlich können Sie ganz einfach eine Ansicht in PostgreSQL erstellen.

Ubiq macht es einfach, Daten innerhalb von Minuten zu visualisieren und in Echtzeit-Dashboards zu überwachen. Probieren Sie es noch heute aus!