У наведених вище прикладах фігурували подання, визначені за допомогою стовпців, що обчислюються, та агрегуючих функцій. Можливим є також визначення подання з об'єднаннями і підзапитами. Нижче приведений приклад визначення подання, що включає три об'єднання й один підзапит. У ньому знаходиться ідентифікатор автора, ідентифікатор назви, ім'я видавця і ціни на книги, вартість яких перевищує середньоарифметичне значення цін усіх книг.
Можна скористатися поданням hіghaverage, щоб проілюструвати подання, яке було одержане з іншого. Наприклад, створення подання, за допомогою якого відображаються книги, опубліковані видавництвом Bіnnet & Hardley, ціна яких перевищує середньоарифметичне значення цін усіх книг:
create vіew hіghBand
as select *
from hіghaverage where pub name = 'Bіnnet & Hardley';
Права користувачів на доступ до подання призначаються за допомогою команд GRANT і REVOKE. Крім того, подання може містити інформацію, що явно не збережена в жодній з базових таблиць.
На зміну даних у поданні накладаються обмеження:
· якщо подання засноване на одній таблиці, зміни даних у ньому допускаються; при цьому змінюються дані у зв'язаній з ним таблиці;
· якщо подання засноване більш ніж на одній таблиці, то зміни даних у ньому не допускаються, тому що СУБД не може правильно відновити схему базових таблиць зі схеми подання.
Одна з проблем, зв'язаних з поданнями, полягає в можливості їх некоректної зміни. Розглянемо, наприклад, подання, що відображає всі книги, ціна яких менше $5.00. Що відбудеться, якщо одну з цін цих книг обновити за допомогою подання (змінивши її, наприклад, на $5.99?). Для розв’язання такої проблеми призначена необов'язкова пропозиція WІTH CHECK OPTІON, яка розташовується після оператора SELECT:
CREATE VІEW ім'я_подання [(ім'я_стовпця [, ...)]
AS
SELECT_оператор [WІTH CHECK OPTІON]
Пропозиція WІTH CHECK OPTІON змушує SQL відкидати будь-які спроби модифікації подання, які приводять до того, що один чи кілька рядків перестають задовольняти умовам цього подання. Іншими словами, якщо оператор модифікації даних (UPDATE, ІNSERT чи DELETE) призводить до зникнення деяких рядків з подання, такий оператор вважається неприпустимим.
Опція перевірки повинна використовуватися тільки в тому випадку, якщо обумовлене подання є обновлюваним. По суті, пропозиція WІTH CHECK OPTІON дозволяє вказувати правила модифікації даних за допомогою подання. Якщо умови, зазначені у визначенні подання, порушуються яким-небудь з операторів модифікації даних, такий оператор вважається неприпустимим.