Languages
[Edit]
EN

PostgreSQL - Create view

0 points
Created by:
Meredith-Soto
325

In this article, we would like to show you how to create a view in PostgreSQL.

Quick solution:

CREATE VIEW "view_name" AS
SELECT "column1", "column2", ...
FROM "table_name"
WHERE condition;

Practical example

To show how the CREATE VIEW statement works, we will use the following table:

PostgreSQL - example data used with CREATE VIEW statement
PostgreSQL - example data used with CREATE VIEW statement

Note:

At the end of this article you can find database preparation SQL queries.

Example

In this example, we will create a view that shows all users from Spain.

Query:

CREATE VIEW "Spain Users" AS
SELECT "name", "email"
FROM "users"
WHERE "country" = 'Spain';

To see the view created with the query above simply use:

SELECT * FROM "Spain Users";

Result:

PostgreSQL - View created by CREATE VIEW (HeidiSQL) 
PostgreSQL - View created by CREATE VIEW (HeidiSQL)

Popular error

If you try to create view that already exist with CREATE VIEW query you will get an error:

PostgreSQL - SQL Error: Table 'view_name' already exists
PostgreSQL - SQL Error: Table 'view_name' already exists

If you try to CREATE VIEW IF NOT EXISTS you will get a warning instead:

PostgreSQL - Note: Table 'view_name' already exists
PostgreSQL - Note: Table 'view_name' already exists

Database preparation

create_tables.sql file:

CREATE TABLE "users" (
	"id" SERIAL PRIMARY KEY,
	"name" VARCHAR(100) NOT NULL,
	"email" VARCHAR(100) NOT NULL,
	"country" VARCHAR(15) NOT NULL
);

insert_data.sql file:

INSERT INTO "users"
	("name", "email", "country")
VALUES
	('Tom', 'tom01@email.com', 'Poland'),
	('Chris','chris123@email.com', 'Spain'),
	('Jack','jack32@email.com', 'Spain'),
    ('Kim','kim103@email.com', 'Vietnam'),
    ('Marco','marco942@email.com', 'Italy'),
	('Kate','kate227@email.com', 'Spain'),
	('Nam','nam393@email.com', 'Vietnam');
Donate to Dirask
Our content is created by volunteers - like Wikipedia. If you think, the things we do are good, donate us. Thanks!
Join to our subscribers to be up to date with content, news and offers.

Cross technology - Create view

Native Advertising
🚀
Get your tech brand or product in front of software developers.
For more information Contact us
Dirask - we help you to
solve coding problems.
Ask question.

❤️💻 🙂

Join