Вид SQL (VIEW)
- Предыдущая страница SQL Increment
- Следующая страница SQL Date
Вид данных является визуализацией таблицы.
Эта глава объясняет, как создавать, обновлять и удалять виды данных.
Запрос SQL CREATE VIEW
Что такое вид данных?
В SQL, вид данных является визуализацией результата набора данных SQL-запроса.
Вид данных содержит строки и столбцы, как и реальная таблица. Поля в видах данных представляют собой реальные поля из одной или нескольких таблиц базы данных. Мы можем добавлять SQL-функции, WHERE и JOIN-запросы к видам данных и предоставлять данные, как если бы они пришли из одной таблицы.
Комментарий:Дизайн и структура базы данных не受到影响 функциями, where или join-запросами в видах данных.
Грамматика SQL CREATE VIEW
CREATE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition
Комментарий:Вид данных всегда показывает последние данные. Whenever the user queries the view, the database engine rebuilds the data using SQL statements.
Пример SQL CREATE VIEW
Вид данных можно использовать изнутри запроса, изнутри хранимой процедуры или изнутри другого вида данных. Добавляя функции, join и т.д. к видам данных, мы можем точно предоставить пользователям данные, которые мы хотим предоставить.
База данных Northwind содержит некоторые видимые таблицы, установленные по умолчанию. Вид данных "Current Product List" показывает все продукты, используемые в таблице Products. Этот вид данных создан следующим SQL:
CREATE VIEW [Current Product List] AS SELECT ProductID,ProductName FROM Products WHERE Discontinued=No
Мы можем запросить этот вид данных:
SELECT * FROM [Current Product List]
Другой вид данных из样本ной базы данных Northwind выбирает все продукты из таблицы Products с ценой за единицу выше средней цены:
CREATE VIEW [Products Above Average Price] AS SELECT ProductName,UnitPrice FROM Products WHERE UnitPrice>(SELECT AVG(UnitPrice) FROM Products)
Мы можем запросить этот вид так:
SELECT * FROM [Products Above Average Price]
Еще один пример визуализации данных из базы данных Northwind, который рассчитывает общее количество продаж каждого типа в 1997 году. Обратите внимание, что этот вид данных выбирает данные из другого вида данных, называемого "Product Sales for 1997":
CREATE VIEW [Category Sales For 1997] AS SELECT DISTINCT CategoryName, Sum(ProductSales) AS CategorySales FROM [Product Sales for 1997] GROUP BY CategoryName
Мы можем запросить этот вид так:
SELECT * FROM [Category Sales For 1997]
Мы также можем добавить условия к запросу. Сейчас мы просто хотим увидеть все продажи категории "Beverages":
SELECT * FROM [Category Sales For 1997] WHERE CategoryName='Beverages'
SQL Обновление вида
Вы можете обновить вид с помощью следующего синтаксиса:
Синтаксис SQL CREATE OR REPLACE VIEW CREATE OR REPLACE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition
Теперь мы хотим добавить столбец "Category" к просмотру "Current Product List". Мы обновим вид следующим SQL:
CREATE VIEW [Current Product List] AS SELECT ProductID, ProductName, Category FROM Products WHERE Discontinued=No
SQL Отменить вид
Вы можете удалить вид с помощью команды DROP VIEW.
Синтаксис SQL DROP VIEW
DROP VIEW view_name
- Предыдущая страница SQL Increment
- Следующая страница SQL Date