double arrow

ЗАПРОСЫ В ФОРМЕ SQL

Лекция 15 (Базы данных)

Пример 12.

Обновление (замена) значений полей записи.

Пример 11.

Пример 10.

Удаление записей в таблице.

Пример 9.

SELECT Студент. *, Оценка. *, Дисциплина [Наименование дисциплины]

FROM (Студент INNER JOIN (Оценка INNER JOIN

(Дисциплина ON Оценка. [Код дисциплины) =Дисциплина. [Код дисциплины])

ON Студент. [№ зач. книжки] = Оценка. [№ зач. книжки])

Сначала происходит соединение таблиц ОЦЕНКА и ДИСЦИПЛИНА по ключу связи [Код дисциплины]. Соединение симметричное, то есть если коды дисциплины не совпадают, записи этих таблиц не соединяются. Затем происходит соединение таблиц СТУДЕНТ и ОЦЕНКА по ключу связи [№ зач. книжки].

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

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

DELETE [таблица. *] FROM выражение WHERE условия отбора

Полная чистка таблицы от записей и очистка индексов выполняются операцией:

DELETE * FROM таблица

DELETE * FROM Студент

Все записи таблицы будут удалены.

DELETE * FROM Студент WHERE [Дата рождения]> #1.1.81 #

Удаляются только те записи, в которых поле [Дата рождения] больше указанной даты.

Данная операция удаляет записи в таблице, связанные с другой таблицей: условия удаления записей могут относиться к полям связанных таблиц:

DELETE таблица. * FROM таблица INNERJOIN другая таблица ON таблица. [поле N] = [другая таблица]. [поле М] WHERE условие.

DELETE Студент. * FROM Студент INNER JOIN [Студент заочник] ON Студент. [Группа] = [Студент заочник] [Группа].

Удаляются записи в таблице СТУДЕНТ, для которых имеются связанные записи в таблице СТУДЕНТ-ЗАОЧНИК

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

UPDATE таблица SET новое значение WHERE условия отбора. Новое значение указывается как имя поля = новое значение

UPDATE Студент SET [Группа] = "1212"

WHERE [Фамилия] LIKE 'В*' AND [Дата рождения] < = #01/01/81#

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

UPDATE Студент INNER JOIN [Студент заочник] ON Студент. [Группа] = [Студент заочник] [Группа] SET [Группа] = [Группа]&"а".

В таблице СТУДЕНТ изменяются номера групп путем добавления буквы а, если они встречаются в таблице СТУДЕНТ-ЗАОЧНИК.

Темы: организация запросов в форме SQL.

1. Организация запросов в форме SQL.

Аргумент Назначение
Предикат Предикаты используются для ограничения числа возвращаемых записей ALL — все записи, DISTINCT — записи, различающиеся в указанных для вывода полях, DISTINCTROW — полностью различающиеся записи по всем полям, ТОР — возврат заданного числа или процента записей в диапазоне соответствующем фразе ORDER BY
Таблица Имя таблицы, поля которой формируют выходные данные
Поле1, Поле2 Имена полей, используемых при отборе (порядок их следования определяет выходную структуру выборки данных)
Псевдоним 1, Псевдоним 2 Новые заголовки столбцов результата выборки данных
FROM Определяет выражение, используемое для задания источника формирования выборки (обязательно присутствует в каждом операторе)
Внешняя база данных Имя внешней базы данных — источника данных для выборки
[WHERE …] Определяет условия отбора записей (необязательное)
[GROUP BY …]] Указание полей (максимум — 10) для формирования групп, по которым возможно вычисление групповых итогов, порядок их следования определяет виды итогов (старший, промежуточный и т. п.) — необязательное
[HAVING …]] Определяет условия отбора записей для сгруппированных данных (задан способ группирования GROUP BY ) — необязательное
[ORDER BY ] Определяет поля, по которым выполняется упорядочение выходных записей, порядок их следования соответствует старшинству ключей сортировки Упорядочение возможно как по возрастанию (ASC), так и по убыванию (DESC) значения выбранного поля
[WITH OWNERACCESS OPTION] При работе в сети в составе защищенной рабочей группы для указания пользователям, не обладающим достаточными правами, возможности просматривать результат запроса или выполнять запрос

 
 

Синтаксис оператора SELECT.

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

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

Универсальный оператор SELECT имеет следующую конструкцию

SELECT [предикат] {*|таблица.*| [таблица.][поле 1 [,[таблица.] поле2[,…]]}

[AS псевдоним1, псевдоним2[,…]]]

FROM выражение[,…] [IN внешняя база данных]

[WHERE …]

[GROUP BY …]

[HAVING …]

[ORDER BY …]

[WITH OWNERACCESS OPTION]

Оператор SELECT реализует сложные алгоритмы запросов Слово SELECT определяет структуру выводимой информации, это могут быть поля таблиц, вычисляемые выражения Вычисляемое выражение состоит из

• полей таблиц,

• констант,

• знаков операций,

• встроенных функций,

• групповых функций SQL


Сейчас читают про: