PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment créer une vue dans PostgreSQL

Les vues PostgreSQL vous permettent de stocker facilement des requêtes et de les appeler ultérieurement. Les vues SQL sont très utiles pour enregistrer les requêtes que vous devez exécuter fréquemment. Voici comment créer une vue dans PostgreSQL à l'aide de l'instruction de création de vue de PostgreSQL.

Comment créer une vue dans PostgreSQL

Voici les étapes pour créer une vue dans PostgreSQL. Voici la syntaxe de l'instruction de création de vue PostgreSQL

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

Dans la requête SQL ci-dessus, view_name est le nom de la vue SQL dans laquelle vous souhaitez stocker votre requête SQL. TEMP/TEMPORARY est un mot clé facultatif pour créer des vues temporaires qui sont supprimées à la fin de votre session en cours.

Après le mot-clé AS, vous pouvez saisir l'intégralité de votre requête SQL que vous souhaitez enregistrer en tant que vue.

Voici un exemple pour créer une vue dans PostgreSQL. Supposons que vous ayez le tableau suivant 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

Supposons que vous souhaitiez créer une vue SQL à partir d'une requête qui calcule les ventes totales par produit. Voici la requête SQL pour créer une vue 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

Lecture bonus :Comment obtenir la première ligne par groupe dans PostgreSQL

PostgreSQL créer une vue à partir de plusieurs tables

Vous pouvez également créer une vue dans PostgreSQL à partir de plusieurs tables en utilisant la même approche. Remplacez simplement la requête SELECT dans l'instruction CREATE VIEW pour récupérer les données de plusieurs tables.

Voici un exemple de PostgreSQL CREATE VIEW à partir de plusieurs tables.

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;

Lecture bonus :Comment remplir les dates manquantes dans PostgreSQL

Comment afficher la définition de vue dans PostgreSQL

Vous pouvez facilement voir la définition de la vue dans PostgreSQL en utilisant \d+ commande. Voici la requête SQL pour afficher la définition de la vue

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;

Lecture bonus :comment calculer le centile dans PostgreSQL

Vous pouvez également faire la même chose en utilisant pg_get_viewdef fonction

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;

Lecture bonus :Comment obtenir le numéro de ligne dans PostgreSQL

Comment supprimer des vues dans PostgreSQL

Vous pouvez facilement supprimer des vues PostgreSQL à l'aide de l'instruction DROP VIEW.

postgresql# DROP VIEW view_name;

Voici la requête SQL pour supprimer la vue dans PostgreSQL

postgresql# DROP VIEW sales_summary;

J'espère que vous pouvez facilement créer une vue dans PostgreSQL.

Ubiq facilite la visualisation des données en quelques minutes et la surveillance dans des tableaux de bord en temps réel. Essayez-le aujourd'hui !