🧠 Что такое VIEW?
VIEW — это виртуальная таблица, построенная на основе SQL-запроса.
Данные в ней не хранятся
Хранится только запрос
Проще говоря:
VIEW = сохранённый SQL-запрос, который можно использовать как таблицу
Зачем нужны VIEW?
- упрощают сложные запросы
- позволяют переиспользовать логику
- помогают скрывать чувствительные данные
- делают SQL-код понятнее
Создание VIEW
CREATE VIEW high_salary_emp AS
SELECT name, salary
FROM employees
WHERE salary > 50000;
Использование VIEW
SELECT * FROM high_salary_emp;
Работает почти так же, как обычная таблица.
Обновление VIEW
CREATE OR REPLACE VIEW high_salary_emp AS
SELECT name, salary, department
FROM employees
WHERE salary > 50000;
Удаление VIEW
DROP VIEW high_salary_emp;
Практический пример
Создадим представление со средней зарплатой по отделам:
CREATE VIEW dept_avg_salary AS
SELECT department, AVG(salary) AS avg_salary
FROM employees
GROUP BY department;
Использование:
SELECT * FROM dept_avg_salary;
Важные моменты
VIEW не хранит данные
изменения в исходной таблице сразу отражаются в VIEW
VIEW можно использовать в запросах как обычную таблицу
Практика
Создайте VIEW для сотрудников с зарплатой выше 40 000
Создайте VIEW для сотрудников отдела IT
Создайте VIEW со средней зарплатой по отделам
Выполните запросы к созданным VIEW
Удалите одно из представлений
Решения
1. Сотрудники с зарплатой выше 40 000
CREATE VIEW high_salary_emp AS
SELECT *
FROM employees
WHERE salary > 40000;
2. Сотрудники отдела IT
CREATE VIEW it_employees AS
SELECT *
FROM employees
WHERE department = 'IT';
3. Средняя зарплата по отделам
CREATE VIEW dept_avg_salary AS
SELECT department, AVG(salary) AS avg_salary
FROM employees
GROUP BY department;
4. Запросы к представлениям
SELECT * FROM high_salary_emp;
SELECT * FROM it_employees;
SELECT * FROM dept_avg_salary;
5. Удаление представления
DROP VIEW high_salary_emp;
Мини-задача
Создайте VIEW, который показывает 3 сотрудников с самой высокой зарплатой.
Решение
CREATE VIEW top_3_salary AS
SELECT *
FROM employees
ORDER BY salary DESC
LIMIT 3;
Использование:
SELECT * FROM top_3_salary;
Где VIEW используют чаще всего?
- дашборды
- системы отчётности
- аналитические проекты
Потому что представления позволяют скрыть сложную SQL-логику за простым запросом.
Таблица хранит данные.
VIEW хранит запрос.
👉 @SQLPortal