PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como criar uma visualização no PostgreSQL


As visualizações do PostgreSQL permitem que você armazene facilmente as consultas e as chame mais tarde. As visualizações SQL são muito úteis para salvar consultas que você precisa executar com frequência. Veja como criar uma view no PostgreSQL usando a instrução create view do PostgreSQL.


Como criar uma visualização no PostgreSQL


Aqui estão os passos para criar uma view no PostgreSQL. Aqui está a sintaxe da instrução create view do PostgreSQL
CREATE [TEMP | TEMPORARY] VIEW view_name AS
SELECT column1, column2.....
FROM table_name
WHERE [condition];

Na consulta SQL acima, view_name é o nome da visualização SQL onde você deseja armazenar sua consulta SQL. TEMP/TEMPORARY é uma palavra-chave opcional para criar exibições temporárias que são descartadas no final da sessão atual.

Após a palavra-chave AS, você pode inserir toda a consulta SQL que deseja salvar como exibição.

Aqui está um exemplo para criar uma view no PostgreSQL. Digamos que você tenha a seguinte tabela 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

Digamos que você queira criar uma visualização SQL a partir de uma consulta que calcule o total de vendas por produto. Aqui está a consulta SQL para criar a visualização do 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



Bônus de leitura:Como obter a primeira linha por grupo no PostgreSQL


PostgreSQL cria visualização de várias tabelas


Você também pode criar uma visualização no PostgreSQL a partir de várias tabelas usando a mesma abordagem. Basta substituir a consulta SELECT na instrução CREATE VIEW para buscar dados de várias tabelas.

Aqui está um exemplo do PostgreSQL CREATE VIEW de várias tabelas.
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;

Bônus de leitura:Como preencher datas ausentes no PostgreSQL


Como mostrar a definição de exibição no PostgreSQL


Você pode ver facilmente a definição de visualização no PostgreSQL usando \d+ comando. Aqui está a consulta SQL para mostrar a definição de exibição
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;



Bônus de leitura:Como calcular o percentil no PostgreSQL



Você também pode fazer a mesma coisa usando pg_get_viewdef função
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;



Bônus de leitura:Como obter o número da linha no PostgreSQL


Como eliminar visualizações no PostgreSQL


Você pode facilmente descartar as visualizações do PostgreSQL usando a instrução DROP VIEW.
postgresql# DROP VIEW view_name;

Aqui está a consulta SQL para descartar a visualização no PostgreSQL
postgresql# DROP VIEW sales_summary;



Espero que você possa criar facilmente uma visualização no PostgreSQL.

A Ubiq facilita a visualização de dados em minutos e o monitoramento em painéis em tempo real. Experimente hoje!