- •Содержание
- •Тема 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 (запрос на обновление)
- •Многотабличные ворпосы.
- •Список литературы
Решение
DELETE Количествочасов
FROM [Академичекая справка]
WHERE ((([Академичекая справка].Количествочасов) Is Null));
Инструкция insert (запрос на добавление)
Вставляет одну или несколько новых строк в указанную таблицу или запрос. Когда используется предложение VALUES, вставляется единственная строка. Если вы используете инструкцию выбора, то число вставляемых строк равно числу строк, возвращаемых инструкцией выбора.
Синтаксис:
INSERT INTO имя-таблицы [({ имя-столбца},...)] [IN <спецификация-истючника-данных>] {VALUES ({литерал}, ...) | инструкция-выбора}
Пояснения: Если в запрос не включен список имен столбцов, тогда Вы должны вставлять новые значения во все столбцы в том порядке, в каком имена столбцов заданы в определении таблицы. Если в запросе есть список имен столбцов, то новые значения надо указывать именно в том порядке, как это определено списком. Причем, значения должны быть совместимы с характеристиками соответствующих столбцов. В список необходимо включить все столбцы базовой таблицы, для которых свойство Обязательное поле имеет значение Да, если для них не заданы значения по умолчанию.
Если предложения IN включены в инструкцию INSERT INTO и в предложение FROM инструкции выбора, то оба предложения IN должны ссылаться на одну и ту же внешнюю базу данных.
Если набор вставляемых значений формируется с помощью инструкции выбора, то имя таблицы, в которую осуществляется вставка, не должно использоваться в предложении FROM инструкции SELECT. Имя таблицы, в которую осуществляется вставка, не может использоваться и в подчиненном запросе.
Так как Microsoft Access позволяет задавать ограничения на значения столбцов, условие на значения для таблицы, проверку целостности данных, то запрос будет выполняться только в том случае, когда вставляемые данные удовлетворяют всем этим условиям.
Пример №21. Создайте таблицу СТУДЕНТ с полями №зк, ФИОСтудента, Фак.
Добавьте из таблицы Академическая справка записи, содержащие Фак= «ЭКФ»
Решение
INSERT INTO студент ( №зк, ФИОСтудента, фак )
SELECT distinct [Академичекая справка].№зк, [Академичекая справка].фиоСтудента, [Академичекая справка].фак
FROM [Академичекая справка]
WHERE ((([Академичекая справка].фак)="ЭКФ"));
Инструкция select ... Into (запрос на создание таблицы)
Создает новую таблицу со значениями, выбранными из одной или нескольких таблиц. Запросы на создание таблицы особенно полезны для сохранения наборов записей некоторых запросов или для создания таблиц с итогами в конце отчетного периода.
Синтаксис:
SELECT [All | DISTINCT | DISTINCTROW | TOP число
[PERCENT]] список-выбора INTO имя-нов ой-таблицы
[IN <спецификация-источника-данных>] FROM {{ имя-таблицы [[AS] псевдоним ] |
имя-запроса-на-выборку [[AS] псевдоним ]} | ктаблица-объединения^ , ... [IN <спецификация-источника-данных>] [WHERE условие-отбора] [GROUP BY имя-столбца, . . . ] [HAVING условие-отбора] [UNION [ALL] инструкция-выбора] [ORDER BY {имя-столбца [ASC | DESC]},... | IN <"имя-б азы-данных-ист очника"> <[строка-подключения
-ис т о чника -да иных ] > [WITH
OWNERACCESS OPTION];
где список-выбора есть
{* | {выражение [AS имя-столбца-выходной-таблицы] |
имя-таблицы. * |
имя-запроса.* | псевдоним. *},...}
а <таблица-обьединения> есть
({имя-таблицы [[AS] псевдоним ] |
имя-запроса-на-выборку [[AS] псевдоним ] \
<та блица -объ единения>} {INNER | LEFT | RIGHT} JOIN {имя-таблицы [[AS] псевдоним ] \имя-запроса-на-выборку [[AS] псевдоним ] |<таблица-объединения>} ON <условие-объединения>)
Пояснения: Инструкция SELECT ... INTO создает новую таблицу с именем имя-новой-таблицы. Если таблица с таким именем уже существует, то Access спрашивает пользователя, нужно ли удалить существующую таблицу перед созданием новой. Столбцы новой таблицы наследуют характеристики типов данных тех столбцов, которые содержатся в списке выбора.
При задании имен столбцов в списке выбора, предложении WHERE и в подчиненных предложениях вместо полных имен таблиц или запросов можно использовать их псевдонимы. Псевдоним обязателен при объединении таблицы или запроса с самим собой, чтобы указать, на какую копию таблицы или запроса вы ссылаетесь в списке выбора, условии объединения или условии отбора. Если имя таблицы или запроса совпадает с зарезервированным словом языка SQL (например, Order), то его следует заключить в квадратные скобки.
Когда вы перечисляете несколько таблиц или запросов и не указываете условия объединения, то в качестве источника данных используется декартово (прямое) произведение всех таблиц. Например, FROM Table A, TableB заставляет Access считать областью поиска все строки из таблицы ТаЫеА, присоединенные к каждой из строк таблицы TableB. В этом случае число логических записей, обрабатываемых Access, будет равняться числу строк в таблице ТаЫеА, умноженному на число строк в таблице TableB. В качестве результата Access возвратит записи, для которых условия отбора, определенные в предложениях WHERE и HAVING, примут значение Истина.
С помощью предикатов ALL, DISTINCT, DISTINCTROW, TOP n или TOP n PERCENT вы можете определить, какие строки Access должен включить в выходной набор записей. Предикат ALL включает все строки, которые удовлетворяют условиям отбора, в том числе и строки, которые могут оказаться дубликатами. Предикат DISTINCT требует, чтобы Access возвратил только строки, отличающиеся от всех остальных. Набор записей запроса, который использует предикат ALL или DISTINCT, является не обновляемым (вы не можете изменять значения полей).
DISTINCTROW (по умолчанию) требует, чтобы Access возвратил только такие строки, в которых конкатенация первичных ключей из всех таблиц, участвующих в формировании выходных столбцов, является уникальной. В зависимости от того, какие столбцы представлены в наборе записей запроса, вы иногда можете увидеть повторяющиеся строки, однако каждая строка в выходной таблице извлечена из уникальной (DISTINCT) комбинации строк (ROWS) базовых таблиц. Если вы хотите, чтобы результирующий набор содержал только первые п или первые п процентов (PERCENT) записей, используйте предикат ТОР п или TOP n PERCENT. Если вы используете ключевое слово PERCENT.
Пример № 23. Создайте таблицу Успеваемость за второй семестр на основе таблицы Академическая справка. После выполнения запроса просмотрите созданную таблицу.
