PostgreSQL-visninger giver dig mulighed for nemt at gemme forespørgsler og ringe til dem senere. SQL-visninger er meget nyttige til at gemme forespørgsler, som du skal køre ofte. Sådan opretter du visning i PostgreSQL ved hjælp af PostgreSQL create view-erklæring.
Sådan opretter du visning i PostgreSQL
Her er trinene til at oprette visning i PostgreSQL. Her er syntaksen for PostgreSQL create view statement
CREATE [TEMP | TEMPORARY] VIEW view_name AS SELECT column1, column2..... FROM table_name WHERE [condition];
I ovenstående SQL-forespørgsel, view_name er navnet på SQL-visningen, hvor du vil gemme din SQL-forespørgsel. TEMP/TEMPORARY er et valgfrit søgeord til at oprette midlertidige visninger, der slettes i slutningen af din nuværende session.
Efter AS nøgleord kan du indtaste hele din SQL-forespørgsel, som du vil gemme som visning.
Her er et eksempel på at oprette visning i PostgreSQL. Lad os sige, at du har følgende tabel produktsalg.
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
Lad os sige, at du vil oprette SQL-visning fra forespørgsel, der beregner det samlede salg pr. produkt. Her er SQL-forespørgslen til at oprette PostgreSQL-visning.
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 Læs:Sådan får du første række pr. gruppe i PostgreSQL
PostgreSQL Opret visning fra flere tabeller
Du kan også oprette visning i PostgreSQL fra flere tabeller ved at bruge den samme tilgang. Du skal bare erstatte SELECT-forespørgslen i CREATE VIEW-sætningen for at hente data fra flere tabeller.
Her er et eksempel på PostgreSQL CREATE VIEW fra flere tabeller.
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;
Bonuslæser:Sådan udfyldes manglende datoer i PostgreSQL
Sådan viser du visningsdefinition i PostgreSQL
Du kan nemt se visningsdefinition i PostgreSQL ved hjælp af \d+ kommando. Her er SQL-forespørgslen for at vise visningsdefinition
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 Læs:Sådan beregnes procent i PostgreSQL
Du kan også gøre det samme ved at bruge pg_get_viewdef 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;
Bonus Læs:Sådan får du rækkenummer i PostgreSQL
Sådan dropper du visninger i PostgreSQL
Du kan nemt droppe PostgreSQL-visninger ved hjælp af DROP VIEW-sætning.
postgresql# DROP VIEW view_name;
Her er SQL-forespørgslen, der skal slettes i PostgreSQL
postgresql# DROP VIEW sales_summary;
Forhåbentlig kan du nemt oprette visning i PostgreSQL.
Ubiq gør det nemt at visualisere data på få minutter og overvåge i dashboards i realtid. Prøv det i dag!