- •Содержание
- •Тема 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 (запрос на обновление)
- •Многотабличные ворпосы.
- •Список литературы
Ввод параметров
Располагается перед инструкцией SQL и определяет типы данных параметров, включенных в запрос. Применение параметров позволяет запросить некоторые значения данных у пользователя или взять их из элементов управления открытой формы в ходе выполнения запроса.
Синтаксис:
PARAMETERS { [имя-параметра] тип-данных], . . .;
Если при выполнении запроса пользователь должен ввести значения, то имена параметров должны описывать их. Например, [Подвести итоги за месяц:] более содержательно, чем [Введите месяц:].
Допустимые типы данных параметров перечислены ниже:
Тип |
Значение |
Bit |
Логический |
Binary |
Двоичный (Binary) |
Byte |
Байт |
Currency |
Денежный |
DateTime |
Дата/время |
FLOAT |
С плавающей точкой (8 байт) |
lEEEDouble |
С плавающей точкой (8 байт) |
lEEESingle |
С плавающей точкой (4 байта) |
INT[EGER] |
Длинное целое |
Long |
Длинное целое |
LongBinary |
Объект OLE |
LongText |
MEMO |
REAL |
С плавающей точкой (4 байта) |
Short |
Целое |
SMALLINT |
Целое |
Text |
Текстовый |
Value |
Значение (Value) |
VARCHAR |
MEMO |
Пример №19. В запрос предыдущего примера введите параметр Укажите год учета. Определите его как длинное целое.
Решение
PARAMETERS [Укажите год учета] Long;
SELECT [Сведения о сотрудниках].ТабНом, [Сведения о сотрудниках]![Фамилия]+" "+Left([Сведения о сотрудниках]![Имя],1)+"."+Left([Сведения о сотрудниках]![Отчество],1)+"." AS ФИО, IIf([Сведения о сотрудниках]![ГрупПерс]<>"МОП","027","029") AS КодГруппыПерсонала, Round([Сведения о сотрудниках]![Ставка]+[Сведения о сотрудниках]![Ставка]*[Сведения о сотрудниках]![%доплат]/100,2) AS Тарификация, Year(Date())-Year([Сведения о сотрудниках]![ДатаРожд]) AS Возраст, [Укажите год учета] AS ГодУчета
FROM [Сведения о сотрудниках];
Изменение базы данных с помощью запросов.
Инструкции SQL используются также для удаления, вставки или обновления данных, а также для создания новой таблицы из существующих данных. Запросы на изменение представляют собой достаточно мощное средство, так как позволяют оперировать не только с отдельными строками, а с наборами строк. Например, инструкции UPDATE или DELETE действуют на все строки базовых таблиц, для которых выполняется условие отбора.
Инструкция delete (запрос на удаление)
Удаляет одну или несколько строк из таблицы или запроса. Предложение WHERE является необязательным. Если в инструкции DELETE отсутствует предложение WHERE, то из таблицы или запроса, указанных в предложении FROM, будут удалены все строки. При использовании предложения WHERE к каждой строке таблицы или запроса будет применено условие отбора и будут удалены только те, для которых условие принимает значение Истина.
Синтаксис:
DELETE [список-выбора]
FROM [{ имя-таблицы [[AS] псевдоним ] \ имя-запроса-на-выборку [[AS] псевдоним ]} | <таблица-объединения>], ... [ IN <спецификация-ист очника-данных>] [WHERE условие-отбора] где список-выбора есть
[* | имя-таблицы. * | список-столбцов] , и где <таблица-объединения> есть ({имя-таблицы [[AS] псевдоним ] \ имя-запроса-на-выборку [[AS] псевдоним ]} | <таблица-объединения>} {INNER | LEFT | RIGHT | JOIN {имя-таблицы [[AS] псевдоним ] \
имя-запроса-на-выборку [[AS] псевдоним ] | <таблица-объединения>} ON <условие-объединения>)
Если в инструкции DELETE вы указываете имя запроса, то последний не должен содержать оператора UNION, итоговых функций SQL, предиката DISTINCT, предложений GROUP BY и HAVING или подчиненного запроса, использующего ту же базовую таблицу, что и инструкция DELETE.
Если в предложении FROM объединяются две или несколько таблиц, то вы можете удалять строки только со стороны «многие» отношения «один-ко-многим» либо из одной из таблиц, между которыми существует связь «один-к-одному». Если в предложение FROM вы включите более одной таблицы, то укажите, из какой именно таблицы должны быть удалены строки (используя в списке выбора конструкцию имя-таблицы.*). Если в предложении FROM указана только одна таблица, то список выбора необязателен.
При задании имен столбцов в предложении WHERE и в подчиненных предложениях вместо полных имен таблиц или запросов можно использовать их псевдонимы.
Псевдоним обязателен при ссылке на имя столбца, которое встречается более чем в одной из таблиц, перечисленных в предложении FROM.
Если в условии отбора используется подчиненный запрос, то в подчиненном запросе не должно быть ссылок на базовые таблицы запроса.
Пример №20. Из таблицы Академическая справка удалить записи, в которых не заполнено поле КоличествоЧасов.
