PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come creare una vista in PostgreSQL

Le viste PostgreSQL ti consentono di archiviare facilmente le query e chiamarle in un secondo momento. Le viste SQL sono molto utili per salvare le query che devi eseguire frequentemente. Ecco come creare una vista in PostgreSQL usando l'istruzione di creazione vista di PostgreSQL.

Come creare una vista in PostgreSQL

Ecco i passaggi per creare una vista in PostgreSQL. Ecco la sintassi di PostgreSQL create view statement

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

Nella query SQL sopra, view_name è il nome della vista SQL in cui si desidera archiviare la query SQL. TEMP/TEMPORARY è una parola chiave facoltativa per creare visualizzazioni temporanee che vengono eliminate alla fine della sessione corrente.

Dopo la parola chiave AS, puoi inserire l'intera query SQL che desideri salvare come vista.

Ecco un esempio per creare una vista in PostgreSQL. Supponiamo che tu abbia la seguente tabella 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

Supponiamo di voler creare una vista SQL da una query che calcola le vendite totali per prodotto. Ecco la query SQL per creare la vista 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

Bonus Leggi:Come ottenere la prima riga per gruppo in PostgreSQL

PostgreSQL Crea vista da più tabelle

Puoi anche creare viste in PostgreSQL da più tabelle usando lo stesso approccio. Basta sostituire la query SELECT nell'istruzione CREATE VIEW per recuperare i dati da più tabelle.

Ecco un esempio di PostgreSQL CREATE VIEW da più tabelle.

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;

Bonus Leggi:Come riempire le date mancanti in PostgreSQL

Come mostrare la definizione della vista in PostgreSQL

Puoi facilmente vedere la definizione della vista in PostgreSQL usando \d+ comando. Ecco la query SQL per mostrare la definizione della vista

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 Leggi:Come calcolare il percentile in PostgreSQL

Puoi anche fare la stessa cosa usando pg_get_viewdef funzione

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;

Bonus Lettura:come ottenere il numero di riga in PostgreSQL

Come eliminare le visualizzazioni in PostgreSQL

Puoi facilmente eliminare le viste PostgreSQL usando l'istruzione DROP VIEW.

postgresql# DROP VIEW view_name;

Ecco la query SQL per rilasciare la visualizzazione in PostgreSQL

postgresql# DROP VIEW sales_summary;

Si spera che tu possa facilmente creare una vista in PostgreSQL.

Ubiq semplifica la visualizzazione dei dati in pochi minuti e il monitoraggio in dashboard in tempo reale. Provalo oggi!