Запросы
Возможности и виды
запроса
Одним из
основных инструментов выборки и обработки данных в СУБД Microsoft Access являются запросы.
С помощью запроса можно выполнить следующие виды
обработки данных:
• Выбрать
записи, удовлетворяющие условиям отбора.
• В каждой из
полученных записей производить вычисления.
•
Сгруппировать записи, которые имеют одинаковые
значения в одном или нескольких полях, в одну запись с одновременным
выполнением групповых операций над другими полями.
• Произвести
обновление полей в выбранном подмножестве записей.
• Создать
новую таблицу БД, используя данные из существующих таблиц.
• Удалить
выбранное подмножество записей из таблицы БД.
• Добавить
выбранное подмножество записей в другую таблицу.
•
Многотабличный запрос позволяет сформировать записи результата
путем объединения взаимосвязанных записей из таблиц БД и включения
нужных полей из нескольких таблиц.
Последовательное
выполнение ряда запросов позволяет решать сложные задачи, не прибегая к
программированию.
В Microsoft Access 2003 может быть создано несколько видов запроса:
1) запрос на выборку;
2) запрос
на создание таблицы;
3) запрос
на обновление;
4) запрос
на добавление;
5) запрос
на удаление.
Создание запроса на
выборку
Запрос на
выборку выбирает данные из взаимосвязанных таблиц и других запросов.
Результатом его является таблица, которая существует до закрытия запроса. Через
эту таблицу запроса можно корректировать данные в исходных таблицах. На основе
этого вида запроса строятся запросы другого вида. Запрос чем-то напоминает
сочетание сортировки и фильтрации (с этими понятиями Вы уже ознакомились при
выполнении соответствующей лабораторной работы по Microsoft Excel). Простейшие запросы затрагивают только одну таблицу.
Для создания простого запроса к таблице внутри конкретной БД необходимо:
1. Открыв БД, в
разделе Объекты выбрать кнопку Запросы.
2. Использовать
кнопку Создать.
3. В окне
диалога Новый запрос (см. рис. слева) выбрать режим Простой запрос. Использовать
кнопку ОК.
4. В окне Добавление таблицы (см. рис. справа) выделить таблицы,
участвующие в запросе. Использовать кнопку Добавить.
Закрыть окно диалога.
5. Составить запрос. Для этого в появившемся
диалоговом окне (рисунок этого окна здесь не приведен) нужно выполнить
следующие действия:
1) С помощью кнопки ">" выбрать имена нужных полей, используемых
в запросе.
2)
Убедиться, что в строке Имя
таблицы отображено имя нужной таблицы.
3)
Нажав кнопку "Далее", в
новом диалоговом окне задать имя запроса и установить флажок в позицию "изменить макет запроса".
4)
В новом диалоговом
окне (см. следующий рис.) выбрать поле (или поля), по которому (по которым)
будет производиться выборка (в нашем случае выбрано, например, поле "Дата
Рождения", если мы хотим делать выборку только по дате рождения; но если нужна выборка по нескольким признакам, то правее этого поля
можно в соседних ячейках выбрать имена других полей), а также убедиться в том,
что выбрана нужная таблица.
5) В строке Сортировка (если
требуется сортировка) можно выбрать порядок сортировки записей в таблице запроса.
6) В строке Вывод на экран отметить активным флажком поля, которые
должны быть включены в результирующую таблицу.
7) В строке Условие отбора можно записать выражение, которое
состоит из операндов и операторов (см. далее
таблицу), позволяющих выбирать необходимую информацию по заданному
критерию отбора.
8) В строке или задать альтернативные условия отбора записей.
Операнды |
Описание |
|
||||
Литералы |
Конкретные значения: Числа (любые):
5, 20 и т. п. Текст (заключается в двойные кавычки): "Иванов",
"Жабинка" Даты (заключаются в символы #): #1/01/03#, #9-Июнь-03# |
|
||||
Константы |
Неизменяющиеся значения, определенные
в Access: True, False, Null, Да, Нет |
|
||||
Идентификаторы (ссылки) |
Имена полей, таблиц, форм, отчетов и
т. д. (заключаются в квадратные скобки, восклицательный знак используется при
указании ссылки на поле в конкретном объекте БД): [Группа]![ФИО] |
|
||||
Операторы |
Описание |
|||||
Like |
Для отбора данных в текстовых полях по шаблону,
заключенному в кавычки. Шаблоном может быть слово, по которому будет
производиться поиск и отбор записей или набор символов: |
|||||
7 * # [] [!] |
любой одиночный символ в данной
позиции любое количество символов в данной
позиции любая цифра в данной позиции заключает допустимый диапазон символов заключает недопустимый диапазон символов |
|||||
"Кобрин" выбирает все записи из
заданного поля со значением Кобрин |
||||||
Like "?#[5-8][!
1 -3]А *" выбирает
все записи из заданного поля со значением: в первой позиции - произвольный символ во второй
позиции - произвольная цифра в третьей позиции - любое
число от 5 до 8 включительно в четвертой
позиции - любое число, кроме цифр от 1 до З включительно в пятой позиции - буква А,
после - произвольные символы в любом количестве |
||||||
|
равно, больше, меньше, больше или равно, меньше или равно, не
равно |
|||||
And |
Логическое И, задает интервал отбора из выражений, операнд: |
|||||
>10 and <=20 (в числовом поле выбирает записи из интервала [ 10 - 20]) |
||||||
Or |
Логическое ИЛИ,
задает альтернативы отбора из выражений, операнд: |
|||||
10 оr 20 оr 30 (в числовом поле выбирает записи, равные 10, или 20, или
30) |
||||||
Like"M*"or Like"A*"(обратите внимание на звездочку!) (в текстовом поле выбирает записи, начинающиеся с букв М или
К) |
||||||
Not |
Логическое НЕ(отрицание)
Not Like "белый" (в текстовом поле выбирает все записи, кроме белый,) |
|||||
Between X1 And X2 |
Позволяет задать
интервал для числового значения от Х1 до Х2 включительно.
Записи: |
|||||
Between 10 And 20 |
(в числовом поле выбирает
записи из интервала от 10 до 20 включительно) |
|||||
>=10 And<=20 |
||||||
In |
Позволяет выполнить проверку
на равенство любому значению из списка, который задается
в круглых скобках. Выбирает записи из полей со значениями |
|||||
In("Береза";"Каменец";"Пинск") |
In(10;20;30) |
|||||
"Береза"оr"Каменец"оr"Пинск" |
10 оr 20 оr 30 |
|||||
Береза, или Каменец, или Пинск |
10, или 20,
или 30 |
|||||
Примечание. В операторе
In
в зависимости от настроек элементы списка отделяются друг от друга либо
запятой, либо точкой с запятой.
Пример заполнения
бланка конструктора запроса на выборку всех учащихся из Таблицы 1
фамилиями, начинающимися на "И", "П" или "С", средний балл которых от 6 до 7
(включительно), год рождения от 1989
и позже, представлен на
следующем рисунке.
6.
Выполнить запрос, используя пиктограмму Запуск "!".
7.
Сохранить запрос (Файл\Сохранить).
Чтобы изменить запрос, нужно:
•
Открыть запрос в
режиме конструктора (контекстное меню запроса).
•
Выделить столбец в
бланке запроса (над столбцом указатель мыши примет вид*).
•
Удалить поле в
бланке запроса: выделить столбец, клавиша Delete.
•
Переместить поле в
бланке запроса: выделить столбец, перенести с помощью мыши.