Поиск данных с помощью запросов
Запросы осуществляют поиск данных в БД так же, как и фильтры. Различие между ними состоит в том, что запросы являются самостоятельными объектами БД, а фильтры привязаны к конкретной таблице.
Запрос является производным объектом от таблицы. Однако результатом выполнения запроса является также таблица, то есть запросы могут использоваться вместо таблиц. Например, форма может быть создана как для таблицы, так и для запроса.
Запросы позволяют отобрать те записи, которые удовлетворяют заданным условиям. Запросы, как и фильтры, бывают простые и сложные. Простой запрос содержит одно условие, а сложный запрос содержит несколько условий для различных полей.
В процессе создания запроса можно отбирать не только записи, но и поля, которые будут присутствовать в запросе.
Создадим сложный запрос по выявлению оптимального провайдера в БД «Провайдеры Интернета».
* Поиск данных с помощью запроса
1. В окне Провайдеры Интернета: база данных выделить группу объектов Запросы и выбрать пункт Создание запроса с помощью конструктора.
2. На диалоговой панели Добавление таблицы выбрать таблицу «Провайдеры Интернета», для которой создается запрос. Щелкнуть по кнопке Добавить.
3. В окне запроса в строке Поле: из раскрывающегося списка выбрать имена полей, для которых будут заданы условия.
В строке Условие отбора: ввести условия для выбранных полей.
В строке Вывод на экран: задать поля, которые будут представлены в запросе.
4. Сохранить запрос под именем Запрос1 с помощью команды [Файл-Сохранить как...].
5. В окне Провайдеры Интернета: база данных выделить Запрос1 и щелкнуть по кнопке Открыть. В появившемся окне запроса будут выведены записи, удовлетворяющие условиям поиска. В данном случае найден лишь один такой провайдер — МТУ-Интел.
j) 3«ЛЭ*С1 ЭШ1Р«С И» BHtotfty "V 1 | ||
ILnaia м подключение j Цичаснааи oii-'iaia Коч-в | а входных лай|Скороетъ 'Название провайдера! | |
> | п 26,00р | 1200 112 МТУ Интел j |
о 0 ООр | 0 0 j | |
"1 <11 1 НмМ«э 1 |
Практические задания
11.5. Осуществить в базах данных «Записная книжка» и «Библиотечный каталог» различные виды поиска: быстрый, с помощью фильтра и с помощью запроса.
11.6. В базе данных «Провайдеры Интернета» осуществить поиск провайдеров, которые не берут плату за подключение и взимают самую низкую почасовую оплату.
Сортировка данных
Базы данных могут содержать сотни и тысячи записей. Часто бывает необходимо упорядочить записи, то есть расположить в определенной последовательности. Упорядочение записей называется сортировкой.
Сортировка записей производится по какому-либо полю. Значения, содержащиеся в этом поле, располагаются в определенном порядке, который определяется типом поля:
• по алфавиту, если поле текстовое;
• по величине числа, если поле числовое;
• по дате, если тип поля — Дата/Время и так далее.
Сортировка записей может производиться либо по возрастанию, либо по убыванию значений поля. В процессе сортировки целостность записей сохраняется, то есть они переносятся из одного места таблицы в другое целиком.
Сортировка записей базы данных — это их упорядочение по значениям одного из полей.
Произведем сортировку в БД «Провайдеры Интернета», например, по полю «Скорость канала (Мбит/с)».
J§J Быстрая сортировка данных
1. В окне Провайдеры Интернета: база данных в группе объектов Таблицы выделить таблицу «Провайдеры Интернета» и щелкнуть по кнопке Открыть.
2. Выделить поле Скорость канала и ввести команду [Запи- си-Сортировка-Сортировкапо возрастанию]. Записи в БД будут отсортированы по возрастанию скорости канала.
В Мривойнери Иш нрнмгв . гаЬпиии | |||||
1 № п/п 1Названне при»а( Плата: Т1 очасоная iKtj.'i-BO Скиростъ капала {М бит /с) Welbc айт |1[ншайлЛ1*Л | |||||
б Портал | в | 38 ООр | 5 www portal ru | ||
* i | 8 Элвис Телеком | г | 40,ООр | 10 www telecoirj ru | |
» | 1 7 Ситек | в | 35,ООр | 10 www sitek ru | |
1 Демос | в | 44,ООр | 45 www demos ru —> | ||
| | 5 Караван | в | 35,ООр | 100 www caravan ru | |
а | ЗМТУ Интел | □ | 26,ООр | 112 www mtu ru | |
g | 2 Гласнет | а | 44, ООр | 112 www elasnet ru | |
4 Зенон | □ | 52,ООр | 155 www aha ru | ||
•; | четчик) | □ | 0,00р | 0 >J | |
fSma И|<)| 3 НмМ«>8 |
Могут реализовываться вложенные сортировки, то есть сортировки, которые последовательно производятся по нескольким полям. После сортировки по первому столбцу производится сортировка по второму столбцу и так далее.
В нашем случае в поле Скорость канала, по которому была произведена сортировка, две записи (8 и 7) имеют одинаковое значение 10 и две записи (3 и 2) — одинаковое значение 112. Чтобы упорядочить эти записи, произведем вложенную сортировку, сначала по полю «Скорость канала», а затем по полю «Кол-во входных линий».
Access позволяет выполнять вложенные сортировки с помощью запросов.
Вложенная сортировка данных с помощью запроса
1. В окне Провайдеры Интернета: база данных выделить группу объектов Запросы и выбрать пункт Создание запроса с помощью конструктора.
2. На диалоговой панели Добавление таблицы выбрать таблицу «Провайдеры Интернета», для которой создается запрос. Щелкнуть по кнопке Добавить.
ш |
и'' Запрос^ запрос на выборку |
Сжороси. I Кол-во входньщНажиме про«айдд± |
250 Портал 120 Ситек 340 Элвис-Телеком 400 Демос 210 Караван 850 Гласнет 1200 МТУ-Интел 450 Зенон ~ » | И1Ь 1 *) 9 |
5 10 10 45 100 112 112 _ 155 КI < 1Г~ |
3. В окне запроса в строке Сортировка: из раскрывающегося списка выбрать имена полей, в которых задать тип сортировки.
Запрос2 : запрос на выборку | IJpM | ||||
— | |||||
Попе | Скорость канала (Мбит/ | Кол-во входных линий | Г^эовайдеры Интернета * | ||
Имя таблицы. | Г^эовайдеры Ичтернета | Провайдеры Интернета | Г^эовайдеры Интернета | —. | |
Сортировка: | по возрастанию | по возрастанию | |||
Вывод на экран | а | в | В | ||
Условие отбора: 1ЛШ. | Т § | ||||
В строке Вывод на экран: задать поля, которые будут представлены в запросе.
4. Сохранить запрос под именем Запрос2 с помощью команды [Файл-Сохранить как...].
5. На вкладке Запросы выделить ЗапросЁ и щелкнуть по кнопке Открыть. В появившемся окне запроса будет выведена отсортированная таблица.
J®) Практические задания
11.7. Осуществить в базе данных «Провайдеры Интернета» вложенную сортировку по полям «Почасовая оплата» и «Название провайдера».