SELECT Студент.*. Оценка.*, Дисциплина.[Наименование дисциплины]
FROM (Студент INNER JOIN (Оценка INNER JOIN
(Дисциплина ON Оценка.[Код дисциплины] =
Дисциплина.| Код дисциплины])
ON Студент.|№ зач. книжки] = Оценка.[№ зач. книжки])
Сначала происходит соединение таблиц ОЦЕНКА и ДИСЦИПЛИНА по ключу связи [Код дисциплины]. Соединение симметричное, то есть если коды дисциплины не совпадают, записи этих таблиц не соединяются. Затем происходит соединение таблиц СТУДЕНТ и ОЦЕНКА по ключу связи [№ зач.книжки].
Таким образом, на выходе запроса получается результат соединения трех таблиц, но при условии совпадения ключей связи.
6. Удаление записей в таблице. В исходной таблице можно удалять отдельные или все записи, охраняя при этом структуру и индексы таблицы. При удалении записей в индексированной таблице автоматически корректируются ее индексы:
DELETE [таблица.*] FROM выражение WHERE условия отбора
Полная чистка таблицы от записей и очистка индексов выполняются операцией:
DELETE * FROM таблица Пример 2.10.
|
|
DELETE * FROM Студент
Все записи таблицы будут удалены.
DELETE * FROM Студент WHERE [Дата рождения]> #1.1.81 #
Удаляются только те записи, в которых поле [Дата рождения) больше указанной даты.
Данная операция удаляет записи в таблице, связанные с другой таблицей: условия удаления записей могут относиться к полям связанных таблиц:
DELETE таблица.* FROM таблица INNERJOIN другая таблица ON таблица.[поле N] = [другая таблица].(поле М] WHERE условие Пример 2.11.
DELETE Студент.* FROM Студент INNER JOIN [Студент заочник] ON Студент.[Группа] = [Студент заочник].[Группа]
2.8. Обработка данных в базе
Удаляются записи в таблице СТУДЕНТ, для которых имеются анные записи н тяйлипс гт\>
связанные записи в таблице СТУДЕНТ-ЗАОЧНИК
7. Обновление (замена) значений полей записи. Можно изменить значения нескольких полей одной или группы записей таблицы, удовлетворяющих условиям отбора:
UPDATE таблица SET новое значение WHERE условия отбора Новое значение указывается как имя поля=новое значение Пример 2.12.
UPDATE Студент SET [Группа] = "1212"
WHERE [Фамилия] LIKE 'В*'AND [Дата рождения] < = #01/01/81*
Студентов, чьи фамилии начинаются на букву В и дата рождения не превышает указанной, перевести в группу 1212.
UPDATE Студент INNERJOIN [Студент заочник] ON Студент. [Группа] = [Студент заочник].[Группа] SET [Группа] = [Группа]&"а"
В таблице СТУДЕНТ изменяются номера групп путем добавления буквы а, если они встречаются в таблице СТУДЕНТ-ЗАОЧНИК.
Организация запросов в форме SQL
Синтаксис оператора SELECT.
Выборка с помощью оператора SELECT — наиболее частая команда при работе с реляционной базой данных. Этот оператор обладает большими возможностями по заданию структуры выходной информации, указанию источников входной информации, способа упорядочения выходной информации, формированию новых значений и т. п. (табл. 2.5).
|
|
При выполнении выборки могут формироваться и новые данные, так называемые вычисляемые поля, являющиеся результатом обработки исходных данных. Возможно упорядочение выводимых данных, формирование групп записей, подсчет групповых итогов, формирование подмножеств данных (записей), являющихся основой для формирования условий по обработке следующего этапа — вложенных запросов.