SQLLab
Теория· 10 мин· 15 XP

Что такое VIEW и зачем он нужен

VIEW — это именованный запрос, сохранённый в базе данных. При обращении к view PostgreSQL выполняет лежащий в основе SELECT.

Зачем нужны VIEW?

  1. Упрощение: скрываем сложные JOIN за простым именем
  2. Безопасность: ограничиваем доступ к конкретным столбцам
  3. Инкапсуляция: изменяем логику в одном месте

Создание VIEW

sql
CREATE VIEW view_name AS
SELECT ...;

Использование VIEW как таблицы

sql
SELECT * FROM view_name;
SELECT * FROM view_name WHERE some_column = 'value';

Изменение и удаление

sql
CREATE OR REPLACE VIEW view_name AS SELECT ...;  -- пересоздать
DROP VIEW view_name;                              -- удалить

Пример

sql
CREATE VIEW v_completed_orders AS
SELECT
    o.id          AS order_id,
    o.order_date,
    c.first_name || ' ' || c.last_name AS customer_name,
    s.name        AS store_name,
    o.total_amount
FROM orders o
JOIN customers c ON c.id = o.customer_id
JOIN stores s    ON s.id = o.store_id
WHERE o.status = 'completed';

Теперь можно писать:

sql
SELECT * FROM v_completed_orders WHERE total_amount > 50000;

вместо полного JOIN-запроса каждый раз.

Прочитайте урок до конца — прогресс засчитается автоматически