Мартин грубер понимание sql перевод Лебедева В. Н. Под редакцией Булычева В. Н. Москва, 1993 martin gruber


city — San Jose, name — Bianco, comm — NULL, cnum — 1100


Download 1.45 Mb.
bet77/172
Sana26.01.2023
Hajmi1.45 Mb.
#1128343
1   ...   73   74   75   76   77   78   79   80   ...   172
Bog'liq
Грубер. Понимание SQL

city — San Jose,
name — Bianco,
comm — NULL,
cnum — 1100.


  1. Напишите команду, которая бы удалила все порядки заказчика Clemens из таблицы Порядков.

  2. Напишите команду, которая бы увеличила оценку всех заказчиков в Риме на 100.

  3. Продавец Serres оставил компанию. Переназначьте его заказчиков продавцу Motika.

(См. Приложение A для ответов.)


16
ИСПОЛЬЗОВАНИЕ ПОДЗАПРОСОВ С КОМАНДАМИ МОДИФИКАЦИИ
В ЭТОЙ ГЛАВЕ, ВЫ УЗНАЕТЕ КАК ИСПОЛЬЗОВАТЬ подзапросы в командах модификации.
Вы найдете, что нечто подобное вы уже видели при использовании подзапросов в запросах. Понимание, как подзапросы используются в командах SELECT, cделает их применение в командах модификации более уверенным, хотя и останутся некоторые вопросы. Завершением команды SELECT является подзапрос, но не предикат, и поэтому его использование отличается от использования простых предикатов с командами модификации, которые вы уже выполняли ранеее с командами UPDATE и DELETE. Вы использовали простые запросы чтобы производить значения для INSERT, а теперь мы можем расширить эти запросы чтобы включять в них подзапросы.
Важный принцип, который надо соблюдать при работе с командами модификации, состоит в том, что вы не можете в предложении FROM любого подзапроса модифицировать таблицу, к которой ссылаетесь с помощью основной команды. Это относится ко всем трем командам модификации. Хотя имеется большое количество ситуаций, в которых будет полезно сделать запрос той таблицы, которую вы хотите модифицировать, причем во время ее модификации, это слишком усложняет операцию, чтобы использовать ее на практике.
Не делайте ссылки к текущей строке таблицы, указанной в команде, которая является соотнесенным подзапросом.
ИСПОЛЬЗОВАНИЕ ПОДЗАПРОСОВ С INSERT
INSERT — это самый простой случай. Вы уже видели как вставлять результаты запроса в таблицу. Вы можете использовать подзапросы внутри любого запроса, который генерирует значения для команды INSERT тем же самым способом, которым вы делали это для других запросов — т.е. внутри предиката или предложения HAVING.
Предположим, что мы имеем таблицу с именем SJpeople, столбцы которой совпадают со столбцами нашей таблицы Продавцов. Вы уже видели как заполнять таблицу подобно этой, заказчиками в городе, например, в San Jose:

Download 1.45 Mb.

Do'stlaringiz bilan baham:
1   ...   73   74   75   76   77   78   79   80   ...   172




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling