
- •Содержание
- •Тема 1:простые запросы...........................................................................................................................
- •Тема 2: выражения в запросах.
- •Введение.
- •Лабораторная работа № 1. Простые запросы
- •Соглашение при описании синтаксиса sql
- •Синтаксис инструкции select в microsoft access
- •Создание простых запросов задание 1.
- •Решение (Первый способ)
- •Решение (Второй способ)
- •Решение
- •Исключение дубликатов строк
- •Решение
- •Решение
- •Предложение order by
- •Решение
- •Решение
- •Выбор строк (предложение where)
- •Сравнение
- •Решение
- •Диапазон
- •Решение
- •Решение
- •Решение
- •Решение
- •Итоговая функция: avg
- •Решение
- •Итоговая фунуция: count
- •Итоговая функция: sum
- •Решение
- •Итоговая функция: var, varp
- •Предложение having
- •Решение
- •Лабораторная работа № 2. Выражения в запросах.
- •Типы данных sql
- •(Национальные символы)
- •Bit (битовый)
- •Exact numeric (точный цифровой)
- •Approximate numeric (приблизительный цифровой)
- •Datetame (дата/время)
- •Interval (интервал)
- •Типы выражений
- •Задание 2.
- •Решение
- •Ввод параметров
- •Решение
- •Изменение базы данных с помощью запросов.
- •Инструкция delete (запрос на удаление)
- •Решение
- •Инструкция insert (запрос на добавление)
- •Решение
- •Инструкция select ... Into (запрос на создание таблицы)
- •Решение
- •Инструкция update (запрос на обновление)
- •Многотабличные ворпосы.
- •Список литературы
Решение
SELECT [Академичекая справка].№зк, [Академичекая справка].ФИОпреподавателя, [Академичекая справка].фак, [Академичекая справка].фиоСтудента, [Академичекая справка].предм, [Академичекая справка].оценка, [Академичекая справка].Семестр INTO [Успеваемость за второй семестр]
FROM [Академичекая справка]
WHERE ((([Академичекая справка].Семестр)=2));
Инструкция update (запрос на обновление)
В указанной таблице или запросе обновляет выбранные столбцы (присваивая шачение заданного выражения либо Null) во всех строках, удовлетворяющих условию отбора. Если в инструкции не используется предложение WHERE, то )бновляются все строки таблицы или запроса.
Синтаксис:
UPDATE {{ имя-таблицы [[AS] псевдоним ] |
имя--запроса-на-выборку [ [AS] псевдоним ] } | <таблица-объединения>},... [IN <спецификация-источника~данных>] SET {имя-столбца = {выражение | NULL}},... [WHERE условие-отбора]
где таблица-объединения есть
{{имя-таблицы [[AS] псевдоним ] |
имя-запроса-на-выборку [[AS] псевдоним ] \
<таблица-объединения>} {INNER | LEFT | RIGHT} JOIN -^ {имя-таблицы [[AS] псевдоним ] \
имя-запроса-на-выборку [[AS] псевдоним ]
<таблица-объединения>} ON <условие-объединения>)
Пояснения: Если в инструкции указано более одного имени таблицы, то изменять содержимое столбцов можно только в таблице, находящейся на стороне «многие» отношения «один-ко-многим», либо в любой из таблиц, между которыми установлена связь «один-к-одному». Microsoft Access должен иметь возможность определить связь между запросами, чтобы он мог обновить значения столбцов в запросе. Если некоторая таблица связана с запросом по ее первичному ключу, то можно изменять содержимое столбцов в запросе (так как первичный ключ указывает на то, что в этом случае таблица находится на стороне «один» объединения), но нельзя обновлять таблицу. Если же вы хотите обновить таблицу, используя для этого результаты некоторого запроса, то вставьте их во временную таблицу и определите для нее связь «один-ко-многим» или «один-к-одному» с обновляемой таблицей. После этого для обновления нужной таблицы можно использовать временную.
В условии отбора можно ссылаться только на столбцы обновляемой таблицы или запроса. Если в условии отбора вы используете подчиненный запрос, вы не должны ссылаться в нем на обновляемую таблицу или запрос или на базовую таблицу запроса.
В предложении SET нельзя указывать имя столбца более одного раза. Значения, присваиваемые столбцам, должны быть совместимы с характеристиками соответствующих столбцов. Если вы присваиваете значение Null, то свойство Обязательное поле соответствующего столбца не может быть установлено в значение Да.
Так как Microsoft Access позволяет задавать ограничения на значения столбцов, условие на значения для таблицы, проверку целостности данных, то запрос будет выполняться только в том случае, когда данные, используемые для обновления, удовлетворяют всем этим условиям.
Пример № 24. В таблице Сведения о сотрудниках проиндексировать поле Ставка в 1,5 раза, а Доплаты увеличить на 20%
Решение.
UPDATE [Сведения о сотрудниках] SET [Сведения о сотрудниках].Ставка = [Сведения о сотрудниках]![Ставка]*1.5, [Сведения о сотрудниках].[%доплат] = [Сведения о сотрудниках]![%доплат]*1.2;