Теория· 10 мин· 15 XP
Что такое VIEW и зачем он нужен
VIEW — это именованный запрос, сохранённый в базе данных. При обращении к view PostgreSQL выполняет лежащий в основе SELECT.
Зачем нужны VIEW?
- Упрощение: скрываем сложные JOIN за простым именем
- Безопасность: ограничиваем доступ к конкретным столбцам
- Инкапсуляция: изменяем логику в одном месте
Создание 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-запроса каждый раз.
Прочитайте урок до конца — прогресс засчитается автоматически