Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






FROM sluzhaschie






WHERE SLUZHASCHIE.ID_OFC = OFFISY.ID_OFC)

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

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

 

44. Правила выполнения многотабличных запросов на выборку.

 

Объединение – это подмножество декартова произведения двух таблиц. Произведение двух таблиц представляет собой таблицу, состоящую из всех возможных пар строк обеих таблиц, составленной из всех столбцов первой таблицы, за которыми следуют все столбцы второй таблицы. На основе понятия декартова произведения, определим формальное определение правил выполнения многотабличных запросов на выборку.

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

1. Сформировать произведение таблиц, перечисленных в предложении FROM.

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

3. Для каждой из оставшихся строк сформировать строку результирующей таблицы, включающей столбцы, указанные в предложении SELECT.

4. Если в предложении SELECT указано ключевое слово DISTINCT, то повторяющиеся строки из результирующей таблицы удаляются.

5. Если в запросе имеется предложение ORDER BY, результирующая таблица сортируется.

 

45. Операторы обновления данных. Операторы INSERT, UPDATE, DELETE.

insert - вставить запись: добавляет новую запись в таблицу. Если после insert стоит current, то добавляется запись из буфера, иначе добавляется запись со значениями полей, указанными в операторах присваивания. Остальные поля получают значения по умолчанию.

update - изменить запись. Изменяет существующую запись или множество записей, удовлетворяющих условию where. Изменяемые поля указываются в операторах присваивания. Все остальные поля остаются без изменений.

delete - удалить запись. Удаляет текущую запись или множество записей, удовлетворяющих условию where.

Оператор Insert предназначен для добавления новых данных в таблицу. Он имеет следующий формат:

INSERT INTO TableName [(columnList)] VALUES (dataValueList);

Здесь параметр TableName (Имя таблицы) может представлять имя таблицы базы данных. Параметр columnList (Список столбцов) представляет собой список, состоящий из имен одного или более столбцов, разделенных запятыми. Параметр columnList является необязательным. Если он опущен, то предполагается использование списка из имен всех столбцов таблицы, указанных в том порядке, в котором они были описаны в операторе CREATE TABLE. Параметр dataValueList (Список значений данных) должен следующим образом соответствовать параметру columnList:

количество элементов в обоих списках должно быть одинаковым;

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

типы данных элементов списка dataValueList должны быть совместимы с типом данных соответствующих столбцов таблицы.

Пример использования оператора Insert.

Задание: Поместите в таблицу staff новую запись, содержащую данные во всех столбцах.

INSERT INTO Staff VALUES('SG16', 'Alan', 'Brown', 'Assistant’, 'M’, DATE '1957-05-25', 8300, 'B003');

Оператор Update позволяет изменять содержимое уже существующих строк указанной таблицы. Этот оператор имеет следующий формат:

UPDATE tableName

SET columnNamel = dataValuel [, columnName2 = dataValue2 … ]

[WHERE searchCondition];

Здесь параметр tableName представляет имя таблицы базы данных. В конструкции SET указываются имена одного или более столбцов, данные в которых необходимо изменить. Конструкция WHERE является необязательной. Если она опущена, значения указанных столбцов будут изменены во всех строках таблицы. Если конструкция WHERE присутствует, то обновлены будут только те строки, которые удовлетворяют условию поиска, заданному в параметре searchCondition. Параметры dataValue1, dataValue2... представляют новые значения соответствующих столбцов и должны быть совместимы с ними по типу данных.

Пример использования оператора Update.

Задание: Всем менеджерам компании повысить заработную плату на 5%.

UPDATE Staff

SET salary = salary*1.05

WHERE position = 'Manager’;

Оператор Delete позволяет удалять строки данных из указанной таблицы. Этот оператор имеет следующий формат:

DELETE FROM tableName

[WHERE searchCondition];

Как и в случае операторов INSERT и UPDATE, параметр TableName представляет собой таблицы базы данных. Параметр searchCondition является необязательным — если он опущен, из таблицы будут удалены все существующие в ней строки. Однако сама по себе таблица удалена не будет. Если необходимо удалить не только содержимое таблицы, но и ее определение, следует использовать оператор DROP TABLE. Если конструкция WHERE присутствует, из таблицы будут удалены только те строки, которые удовлетворяют условию отбора, заданному параметром searchCondition

Пример использования оператора Delete.

Задание: Удалить все записи об осмотрах сдаваемого в аренду объекта с учетным номером PG4.

DELETE FROM Viewing

WHERE propertyNo = 'PG4';

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.