Create view sql: SQL CREATE VIEW, REPLACE VIEW, DROP VIEW Statements

SQL — оператор CREATE VIEW

SQL > Язык определения данных (DDL) >
Заявление о создании представления

Представления можно рассматривать как виртуальные таблицы. Вообще говоря, таблица имеет набор определений и физически хранит данные. Представление также имеет набор определений, который строится поверх таблицы (таблиц) или другого представления (представлений) и физически не хранит данные.

Синтаксис создания вида следующий:

CREATE VIEW «VIEW_NAME» КАК «оператор SQL»;

«Выражение SQL» может быть любым из выражений SQL, которые мы обсуждали в этом руководстве.

Для иллюстрации рассмотрим простой пример. Скажем, у нас есть следующая таблица:

Таблица Клиент

Имя столбца Тип данных
Имя_имя символов (50)
 Фамилия  символов (50) 
 Адрес  символов (50) 
 Город  char(50)
Страна char(25)
Birth_Date datetime 

, и мы хотим создать представление с именем V_Customer , содержащее только имя First_Name,
Столбцы Last_Name и Country из этой таблицы мы должны ввести

СОЗДАТЬ ВИД V_Customer
КАК ВЫБРАТЬ Имя, Фамилия, Страна
ОТ Заказчика;

Теперь у нас есть представление с именем V_Customer со следующей структурой:

Вид V_Customer

Имя столбца Тип данных
Fi rst_Name  char(50) 
 Last_Name  char(50)
Country char(25)

Мы также можем использовать представление для объединения двух таблиц. В этом случае пользователи видят только одно представление, а не две таблицы, и операторы SQL, которые им необходимо вводить, становятся намного проще. Допустим, у нас есть следующие две таблицы:

Таблица Store_Information

Лос-Анджелес 1500 19 января99
Сан-Диего 250 07 января 1999
Лос-Анджелес 30 0 8 января 1999 года
Бостон 700 8 января 1999 года

Таблица География

Восток Бостон
Восток Нью-Йорк
Запад Лос-Анджелес
 Запад  Сан-Диего

, и мы хотим создать представление, в котором есть информация о продажах по регионам. Мы выполним следующий оператор SQL:

СОЗДАТЬ ВИД V_REGION_SALES
AS SELECT A1.Region_Name REGION, SUM(A2.Sales) SALES
ОТ География A1, Store_Information A2
ГДЕ A1.Store_Name = A2.Store_Name
СГРУППИРОВАТЬ ПО A1.Имя_Региона;

Это дает нам представление, V_REGION_SALES , который был определен для хранения продаж по записям регионов. Если мы хотим узнать содержимое этого представления, мы вводим,

ВЫБЕРИТЕ * ИЗ V_REGION_SALES;

Результат:

РЕГИОН   ПРОДАЖА
Восток 700
Запад&nbsp 2050


Далее: Индекс SQL

Последний раз эта страница обновлялась 19 июня 2023 г.





Copyright © 2023   1keydata. com   Все права защищены
Политика конфиденциальности     О   Контакты

Руководство по созданию представления MySQL с примерами

Резюме : в этом руководстве вы узнаете, как использовать MySQL CREATE VIEW  оператор для создания нового представления в базе данных.

Введение в MySQL

Оператор CREATE VIEW

Оператор CREATE VIEW создает новое представление в базе данных. Вот основной синтаксис оператора CREATE VIEW :

 CREATE [OR REPLACE] VIEW [имя_базы_данных.]имя_представления [(список_столбцов)]
КАК
  оператор выбора;  Язык кода: SQL (язык структурированных запросов) (sql)  

В этом синтаксисе:

Сначала укажите имя представления, которое вы хотите создать после СОЗДАТЬ ПРОСМОТР ключевых слов. Имя представления уникально в базе данных. Поскольку представления и таблицы в одной и той же базе данных используют одно и то же пространство имен, имя представления не может совпадать с именем существующей таблицы.

Во-вторых, используйте параметр ИЛИ ЗАМЕНИТЬ , если вы хотите заменить существующее представление, если оно уже существует. Если представление не существует, ИЛИ ЗАМЕНИТЬ не действует.

В-третьих, укажите список столбцов для представления. По умолчанию столбцы представления получаются из списка выбора Оператор SELECT . Однако вы можете явно указать список столбцов для представления, указав их в круглых скобках после имени представления.

Наконец, укажите оператор SELECT , определяющий представление. Оператор SELECT может запрашивать данные из таблиц или представлений. MySQL позволяет вам использовать предложение ORDER BY в операторе SELECT , но игнорирует его, если вы выбираете из представления запрос, который имеет собственное предложение ORDER BY .

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

MySQL

CREATE VIEW примеры

Давайте рассмотрим пример использования оператора CREATE VIEW для создания новых представлений.

1) Пример создания простого представления

Давайте посмотрим на таблицу orderDetails из примера базы данных:

Этот оператор использует оператор CREATE VIEW для создания представления, представляющего общий объем продаж по заказу.

 СОЗДАТЬ ВИД продажаЗаказать как
    ВЫБИРАТЬ
        номер заказа,
        СУММ(количествоЗаказан * ценаКаждый) всего
    ОТ
        Информация для заказа
    СГРУППИРОВАТЬ по порядковому номеру
    ORDER BY total DESC;  Язык кода: SQL (язык структурированных запросов) (sql)  

Если вы используете команду SHOW TABLE для просмотра всех таблиц в classicmodels , вы увидите, что представление salesPerOrder отображается в списке.

 ШОУ СТОЛЫ;  Язык кода: SQL (язык структурированных запросов) (sql)  

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

Чтобы узнать, какой объект является представлением или таблицей, используйте команду SHOW FULL TABLES следующим образом:

 SHOW FULL TABLES;  Язык кода: SQL (язык структурированных запросов) (sql)  

Столбец table_type в результирующем наборе указывает тип объекта: представление или таблица (базовая таблица).

Если вы хотите запросить общий объем продаж для каждого заказа на продажу, вам просто нужно выполнить простую инструкцию SELECT  для представления SalePerOrder  следующим образом:

 SELECT * FROM salePerOrder;  Язык кода: SQL (язык структурированных запросов) (sql)  

2) Создание представления на основе другого примера представления

MySQL позволяет создавать представления на основе другого представления.

Например, вы можете создать представление с именем bigSalesOrder на основе представления salesPerOrder для отображения всех заказов на продажу, общая сумма которых превышает 60 000 , следующим образом:

 CREATE VIEW bigSalesOrder AS
    ВЫБИРАТЬ
        номер заказа,
        ОКРУГЛ(всего,2) как итог
    ОТ
        продажаЗаказ
    ГДЕ
        всего > 60000;  Язык кода: SQL (язык структурированных запросов) (sql)  

Теперь вы можете запросить данные из bigSalesOrder вид следующим образом:

 SELECT
    номер заказа,
    общий
ОТ
    большойПродажныйЗаказ;  Язык кода: SQL (язык структурированных запросов) (sql)  

3) Пример создания представления с объединением

В следующем примере используется оператор CREATE VIEW для создания представления на основе нескольких таблиц. Он использует предложения INNER JOIN для соединения таблиц.

 СОЗДАТЬ ИЛИ ЗАМЕНИТЬ ПРОСМОТР customerOrders AS
ВЫБИРАТЬ
    номер заказа,
    Имя Клиента,
    СУММ(количествоЗаказан * ценаКаждый) всего
ОТ
    Информация для заказа
INNER JOIN заказы o USING (orderNumber)
ВНУТРЕННЕЕ ПРИСОЕДИНЯЙТЕСЬ к клиентам, ИСПОЛЬЗУЯ (customerNumber)
СГРУППИРОВАТЬ ПО порядковому номеру;  Язык кода: SQL (язык структурированных запросов) (sql)  

Этот оператор выбирает данные из представления customerOrders :

 SELECT * FROM customerOrders
ORDER BY total DESC;  Язык кода: SQL (язык структурированных запросов) (sql)  

На этом рисунке показан частичный вывод:

4) Пример создания представления с подзапросом

В следующем примере для создания представления используется оператор CREATE VIEW . чей ВЫБРАТЬ 9Оператор 0265 использует подзапрос. Представление содержит продукты, покупные цены которых выше, чем средняя цена всех продуктов.

 CREATE VIEW вышеAvgProducts AS
    ВЫБИРАТЬ
        код продукта,
        наименование товара,
        купитьЦена
    ОТ
        продукты
    ГДЕ
        купитьЦена > (
            ВЫБИРАТЬ
                СРЕДНЯЯ (цена покупки)
            ОТ
                продукты)
    ЗАКАЗАТЬ ПО buyPrice DESC;  Язык кода: SQL (язык структурированных запросов) (sql)  

Этот запрос данных из вышеAvgProducts выглядит следующим образом:

 SELECT * FROM вышеAvgProducts;  Язык кода: SQL (язык структурированных запросов) (sql)  

5) Пример создания представления с явными столбцами представления

Этот оператор использует оператор CREATE VIEW для создания нового представления на основе таблиц клиентов и заказов с явные столбцы представления:

 CREATE VIEW customerOrderStats (
   Имя Клиента ,
   заказКоличество
)
КАК
    ВЫБИРАТЬ
        Имя Клиента,
        COUNT(номер заказа)
    ОТ
        клиенты
            ВНУТРЕННЕЕ СОЕДИНЕНИЕ
        заказы USING (customerNumber)
    СГРУППИРОВАТЬ ПО customerName;  Язык кода: SQL (язык структурированных запросов) (sql)  

Этот запрос возвращает данные из представления customerOrderStats :

 SELECT
    Имя Клиента,
    заказКоличество
ОТ
    клиентOrderStats
СОРТИРОВАТЬ ПО
количество заказов,
    Имя Клиента;  Язык кода: SQL (язык структурированных запросов) (sql)  

В этом руководстве мы показали, как использовать оператор MySQL CREATE VIEW для создания представлений в базе данных.