В SQL представления (views) содержат строки и столбцы, аналогичные таблицам, однако без фактических данных. Представление можно рассматривать как виртуальную таблицу, созданную из одной или нескольких таблиц, чтобы упростить работу с данными.
Создание представления в SQL
Мы можем создавать представления в SQL с помощью команды CREATE VIEW. Например:
1 2 3 4 |
CREATE VIEW us_customers AS SELECT customer_id, first_name FROM Customers WHERE Country = 'USA'; |
Здесь представление с именем us_customers создается из таблицы Customers. Теперь, чтобы выбрать клиентов, которые живут в USA
, мы можем просто написать:
1 2 |
SELECT * FROM us_customers; |
Обновление представления
Можно изменить или обновить существующее представление с помощью команды CREATE OR REPLACE VIEW. Например:
1 2 3 4 |
CREATE OR REPLACE VIEW us_customers AS SELECT * FROM Customers WHERE Country = 'USA'; |
Здесь мы обновили представление us_customers для того, чтобы получить все поля таблицы Customers.
Удаление представления
Мы можем удалить представление с помощью команды DROP VIEW. Например:
1 |
DROP VIEW us_customers; |
Здесь мы удаляем представление с именем us_customers.
Примечание: Если представление на момент выполнения команды удаления не существует, то SQL выдаст ошибку.
Представления для сложных запросов
Предположим, что A и B — это две таблицы, с которых мы хотим получить данные. Для этого мы можем использовать операторы JOIN. Однако использование JOIN
каждый раз может быть утомительной задачей. В качестве альтернативы можно создать представление для простого извлечения данных.
Давайте создадим представление:
1 2 3 4 5 |
CREATE VIEW order_details AS SELECT Customers.customer_id, Customers.first_name, Orders.amount FROM Customers JOIN Orders ON Customers.customer_id = Orders.customer_id; |
Теперь, чтобы получить данные, мы можем написать:
1 2 |
SELECT * FROM order_details; |
Здесь мы получаем данные из представления order_details.