ЛУЧШИЙ САЙТ ДЛЯ РАЗРАБОТЧИКОВ
×

SQL учебник

SQL HOME SQL Intro SQL Syntax SQL Select SQL Select Distinct SQL Where SQL And, Or, Not SQL Order By SQL Insert Into SQL Null Values SQL Update SQL Delete SQL Select Top SQL Min and Max SQL Count, Avg, Sum SQL Like SQL Wildcards SQL In SQL Between SQL Aliases SQL Joins SQL Inner Join SQL Left Join SQL Right Join SQL Full Join SQL Self Join SQL Union SQL Group By SQL Having SQL Exists SQL Any, All SQL Select Into SQL Insert Into Select SQL Null Functions SQL Stored Procedures SQL Comments

SQL Database

SQL Create DB SQL Drop DB SQL Create Table SQL Drop Table SQL Alter Table SQL Constraints SQL Not Null SQL Unique SQL Primary Key SQL Foreign Key SQL Check SQL Default SQL Index SQL Auto Increment SQL Dates SQL Views SQL Injection SQL Hosting

SQL References

MySQL Functions SQL Server Functions MS Access Functions Oracle Functions SQL Operators SQL Data Types SQL Quick Ref


SQL Представления


Инструкция создания представления SQL

В SQL представление представляет собой виртуальную таблицу, основанную на результирующем наборе инструкций SQL.

Представление содержит строки и столбцы, точно так же, как реальная таблица. Поля в представлении представляют собой поля из одной или нескольких реальных таблиц в базе данных.

В представление можно добавить функции SQL, WHERE и JOIN, а также представить данные, как если бы данные поступили из одной таблицы.

Создать синтаксис представления

CREATE VIEW view_name AS
SELECT column1, column2, ...
FROM table_name
WHERE condition;

Примечание: В представлении всегда отображаются актуальные данные! Ядро СУБД повторно создает данные, используя инструкцию SQL View, каждый раз, когда пользователь запрашивает представление.


Примеры создания представлений SQL

Если у вас есть база данных Northwind, вы можете видеть, что она имеет несколько представлений, установленных по умолчанию.

В представлении «текущий список товаров» перечислены все активные продукты (продукты, которые не были прекращены) из таблицы «продукты». Представление создается с помощью следующего 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. Обратите внимание, что это представление выбирает свои данные из другого представления под названием "продажи продукта для 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];

Мы также можем добавить условие в запрос. Давайте посмотрим, Общая продажа только для категории "напитки":

SELECT * FROM [Category Sales For 1997]
WHERE CategoryName = 'Beverages';


SQL обновление представления

Можно обновить представление, используя следующий синтаксис:

Синтаксис представления SQL CREATE или Replace

CREATE OR REPLACE VIEW view_name AS
SELECT column1, column2, ...
FROM table_name
WHERE condition;

Теперь мы хотим добавить столбец "Category" в представление "текущий список продуктов". Мы будем обновлять представление со следующим SQL:

CREATE OR REPLACE VIEW [Current Product List] AS
SELECT ProductID, ProductName, Category
FROM Products
WHERE Discontinued = No;

SQL удаление представления

Можно удалить вид с помощью команды "Удалить вид".

Синтаксис представления SQL DROP

DROP VIEW view_name;