Читаем SQL за 24 часа полностью

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

В ANSI SQL никакого стандарта для оператора ALTER VIEW не предусматривается.

Создание представления для данных одной таблицы

Представление может быть создано на основе данных одной таблицы. Синтаксис соответствующего оператора следующий (указанная здесь опция WITH CHECK OPTION будет обсуждаться чуть позже).

CREATE VIEW ИМЯ_ПРЕДСТАВЛЕНИЯ AS

SELECT * | СТОЛБЕЦ1 [ , СТОЛБЕЦ2 ]

FROM ИМЯ_ТАБЛИЦЫ

[ WHERE ВЫРАЖЕНИЕ1 [, ВЫРАЖЕНИЕ2 ]]

[ WITH CHECK OPTION ]

[ GROUP BY ]

В своем самом простом виде представление строится на основе всех данных таблицы, как в следующем примере.

CREATE VIEW CUSTOMERS AS

SELECT *

FROM CUSTOMER_TBL;

Представление создано.

В следующем примере создаваемое представление должно содержать только указанные столбцы таблицы.

CREATE VIEW EMP_VIEW AS

SELECT LAST_NAME, FIRST_NAME, MIDDLE_NAME

FROM EMPLOYEE_TBL;

Представление создано.

Из следующего примера видно, каким образом в представлении можно преобразовать данные столбцов таблицы. В этом представлении для столбца вывода в операторе SELECT назначается псевдоним NAME.

CREATE VIEW NAMES AS

SELECT LAST_NAME || ', ' || FIRST_HAME || ' ' || MIDDLE_NAME

NAME

FROM EMPLOYEE_TBL;

Представление создано.

Теперь выберем все данные только что созданного представления с именем NAMES.

SELECT *

FROM NAMES;

NAME

--------------

STEPHENS, TINA D

PLEW, LINDA С

GLASS, BRANDON S

GLASS, JACOB

WALLACE, MARIAH

SPURGEON, TIFFANY

6 строк выбраны.

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

CREATE VIEW CITY_PAY AS

SELECT E.CITY, AVG(P.PAY_RATE) AVG_PAY

FROM EMPLOYEEJTBL E

EMPLOYEE_PAY_TBL P

WHERE E.EMP_ID = P.EMP_ID

GROUP BY E.CITY;

Представление создано.

Теперь выберем данные только что созданного представления.

SELECT *

FROM CITYJPAY;

CITY AVG_PAY

--------------------------

GREENWOOD

INDIANAPOLIS 13.33333

WHITELAND

3 строки выбраны.

После создания представления его использование в операторах SELECT позволяет их значительно упростить.

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

Представление можно создать на базе данных нескольких таблиц, используя связи в операторе SELECT. Опция WITH CHECK OPTION будет обсуждаться немного позже. Синтаксис оператора следующий.

CREATE VIEW ИМЯ_ПРЕДСТАВЛЕНИЯ AS

SELECT * | СТОЛБЕЦ1 [ , СТОЛБЕЦ2 ]

FROM ИМЯ_ТАБЛИЦЫ1, ИМЯ_ТАБЛИЦЫ2 [ , ИМЯ_ТАБЛИЦЫЗ ]

WHERE ИМЯ_ТАБЛИЦЫ1 = ИМЯ_ТАБЛИЦЫ2

[ AND ИМЯ_ТАБЛИЦЫ1 = ИМЯ_ТАБЛИЦЫЗ ]

[ ВЫРАЖЕНИЕ1 ][, ВЫРАЖЕНИЕ2 ]

WITH CHECK OPTION ]

[ GROUP BY ]

Вот пример создания представления на основе данных нескольких таблиц.

CREATE VIEW EMPLOYEE_SUMMARY AS

SELECT E.EMP_ID, E.LAST_NAME, P.POSITION, P.DATE_HIRE,

P. PAY_RATE

FROM EMPLOYEEJTBL E

EMPLOYEE_PAY_TBL P

WHERE E.EMP_ID = P.EMP_ID;

Представление создано.

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

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

Представление можно создать на основе другого представления с помощью оператора следующего вида.

CREATE VIEW ПРЕДСТАВЛЕНИЕ2 AS

SELECT * FROM ПРЕДСТАВЛЕНИЕ1

Уровни зависимости представлений
Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных

Все жанры