Читайте также:
|
|
Рассмотрим ряд примеров, поясняющих технологию построения запросов.
Пример 1. Создать запрос, формирующий список студентов, фамилии которых начинаются на “C” и родившихся в 1991 – 1992 годах. В результате запроса вывести таблицу, содержащую поля ФИО, Группа, Дата рождения. Условие отбора совпадает с условием поиска в фильтре по умолчанию для аналогичной задачи, рис. 21: ФИО=С* AND Дата рождения >= 01.01.1991 AND Дата рождения <= 31.12.1992. Сравнить задание условия отбора в запросе с условием поиска в фильтре по умолчанию.
1. В главном окне БД Сессия на вкладке Запросы выберите задачу Создать запрос в режиме дизайна. Откроются окна построителя запросов и добавления таблиц, рис. 23.
2. В окне добавления таблицы выберите из списка таблицу Студент и нажмите кнопку «Добавить». Закройте окно добавления таблицы.
3. В таблице Студент дважды щелкните по следующим полям в указанной последовательности: ФИО, Группа, Дата рождения, Дата рождения.
4. Снимите в строке Видимый флажок для последнего поля Дата рождения.
5. Введите в строке Критерий условие отбора. Напомним, что апострофы и символы # подставляются автоматически при нажатии клавиши «Enter» или щелчке по другой ячейке. Результаты проделанных действий представлены на рис. 24.
Рис. 24. Запросная форма примера 1
6. Просмотрите запрос, нажав клавишу «F4», рис. 25.
Рис. 25. Просмотр результатов выполнения запроса
Повторное нажатие клавиши «F4» восстанавливает запросную форму для возможных ее исправлений. Проверьте.
7. Закройте окно построителя запросов и в появившемся окне сохранения запроса задайте ему имя Пример1 для дальнейшего использования.
8. Если вы хотите убедиться, правильно ли расставлены в условии отбора логические операторы AND (“И”) или OR (“ИЛИ”), перейдите в режим SQL. Для этого щелкните правой кнопкой мыши по значку запроса Пример1 и выберите в контекстном меню команду Редактировать в режиме SQL. Откроется окно построителя запросов с условием отбора на языке SQL, рис. 26. Просмотрите условие WHERE. Закройте окно построителя запросов.
Рис. 26. Условие отбора на языке SQL
9. Просмотреть запрос можно и из главного окна БД Сессия. Дважды щелкните по значку запроса Пример1 и просмотрите ответную таблицу. При изменении или добавлении записей в таблице Студент ответная таблица также будет изменена. Закройте окно Представление данных таблицы.
10. Щелкните правой кнопкой мыши по значку запроса Пример1 и выберите в контекстном меню команду Изменить. Откроется окно построителя запросов, в котором можно произвести необходимые изменения.
Рассмотрим другой вариант задания условия отбора для рассматриваемой задачи.
11. Удалите правый столбец Дата рождения, для чего выделите его щелчком по серому полю над заголовком и нажмите клавишу «Delete».
12. Введите новое условие отбора BETWEEN 01.01.1992 AND 31.12.1992. Результаты проделанных действий представлены на рис. 27.
13. Просмотрите запрос, нажав клавишу «F4». Результаты просмотра запроса совпадают с данными рис. 25.
Рис. 27. Новое условие отбора
14. Сохраните запрос под другим именем, для чего выполните команду Файл > Сохранить как и задайте запросу имя Пример1_1.
15. Закройте окно построителя запросов.
16. Просмотрите условие WHERE в режиме SQL. Закройте окно построителя запросов.
Пример 2. Создать запрос, формирующий список студентов – мужчин, родившихся в 1990 г. или 1993 г. В результате запроса вывести таблицу, содержащую поля ФИО, Пол, Дата рождения и отсортированную по полю Дата рождения (например, по возрастанию). Условие отбора: (Пол=М AND Дата рождения >= 01.01.1990 AND Дата рождения <= 31.12.1990) OR (Пол=М AND Дата рождения >= 01.01.1993 AND Дата рождения <= 31.12.1993).
1. В главном окне БД Сессия на вкладке Запросы выберите задачу Создать запрос в режиме дизайна. Откроются окна построителя запросов и добавления таблиц, рис. 23.
2. В окне добавления таблицы выберите из списка таблицу Студент и нажмите кнопку «Добавить». Закройте окно добавления таблицы.
3. В таблице Студент дважды щелкните по следующим полям в указанной последовательности: ФИО, Пол, Дата рождения, Дата рождения.
4. Снимите в строке Видимый флажок для последнего поля Дата рождения.
5. Для первого поля Дата рождения установите сортировку по возрастанию. Для этого щелкните в ячейке на пересечении строки Сортировка и столбца Дата рождения и выберите в раскрывающемся списке сортировку по возрастанию.
6. Введите в строках Критерий и ИЛИ условие отбора. Просмотрите запрос, нажав клавишу «F4» Результаты проделанных действий представлен на рис. 28.
7. Закройте окно построителя запросов и в появившемся окне сохранения запроса задайте ему имя Пример2.
8. Просмотрите условие WHERE в режиме SQL. Закройте окно построителя запросов.
Рис. 28. Условие отбора и результат запроса примера 2
Пример 3. Создать запрос, формирующий список студентов группы 112, получивших на экзамене неудовлетворительные оценки (балл < 53) по математике или информатике. В результате запроса вывести таблицу, содержащую поля ФИО, Группа, Дисциплина, Балл и отсортированную по полю ФИО (по возрастанию). Условие отбора: (Группа=112 AND Математика < 53) OR (Группа=112 AND Информатика < 53).
1. В главном окне БД Сессия на вкладке Запросы выберите задачу Создать запрос в режиме дизайна. Откроются окна построителя запросов и добавления таблиц, рис. 23.
2. Данный запрос строится на основе трех таблиц: Студент, Экзамен и Дисциплина. В окне добавления таблицы выбирайте последовательно из списка таблицы Студент, Экзамен и Дисциплина, нажимая каждый раз кнопку «Добавить», рис. 29. Связи между таблицами берутся из схемы данных, созданной ранее, и устанавливаются автоматически. Закройте окно добавления таблицы.
3. Добавьте нужные поля в запросную форму: из таблицы Студент – поля ФИО и Группа, из таблицы Дисциплина – поле Дисциплина, из таблицы Экзамен – поле Балл.
4. Для поля ФИО установите сортировку по возрастанию.
5. Введите в строках Критерий и ИЛИ условие отбора. Результаты проделанных действий представлены на рис. 29.
Рис. 29. Запросная форма примера 3
6. Просмотрите запрос, нажав клавишу «F4» Результат выполнения запроса сравните с рис. 30.
Рис. 30. Результат запроса примера 3
7. Закройте окно построителя запросов и в появившемся окне сохранения запроса задайте ему имя Пример3.
Пример 4. Создайте запрос с параметрами, формирующий сведения о баллах студентов заданной группы по заданной дисциплине. В результате запроса вывести таблицу, содержащие поля ФИО, Группа, Балл, Дисциплина и отсортированную по полю Балл (по убыванию). Условие отбора: Номер группы AND Название дисциплины.
Запросы, которые представляют собой варианты базового запроса и незначительно отличаются друг от друга, называются параметрическими. Поля строк Критерий и ИЛИ заполняются не конкретным условием отбора, а обращением к пользователю для ввода параметров условия отбора. Во время выполнения запроса это обращение будет адресовано пользователю, который введет параметры условия отбора. На основании введенных параметров (с учетом других компонент, заданных в строках Критерий и ИЛИ) будет осуществляться отбор записей. Обращение необходимо начинать с двоеточия, например :номер_группы.
1. В главном окне БД Сессия на вкладке Запросы выберите задачу Создать запрос в режиме дизайна. Откроются окна построителя запросов и добавления таблиц, рис. 23.
2. Данный запрос строится на основе трех таблиц: Студент, Экзамен и Дисциплина. В окне добавления таблицы выбирайте последовательно из списка таблицы Студент, Экзамен и Дисциплина, нажимая каждый раз кнопку «Добавить», рис. 31. Закройте окно добавления таблицы.
3. Добавьте нужные поля в запросную форму: из таблицы Студент – поля ФИО и Группа, из таблицы Экзамен – поле Балл, из таблицы Дисциплина – поле Дисциплина.
4. Для поля Балл установите сортировку по убыванию.
5. Введите в строке Критерий для поля Группа обращение :номер_группы, а для поля Дисциплина обращение :название_дисциплины. Результаты проделанных действий представлены на рис. 31.
Рис. 31. Запросная форма примера 4
6. Нажмите клавишу «F4» для просмотра запроса. Откроется окно для ввода параметров по запросу, рис. 32.
Рис. 32. Окно ввода параметров запроса
7. При выделенном параметре название_дисциплины введите в поле Значение текст Физика и нажмите кнопку «Следующий». Указатель параметра перейдет на строку номер_группы. Активизируйте щелчком поле Значение и введите число 112. Нажмите кнопку «ОК». Результат выполнения запроса сравните с рис. 33.
Рис. 33. Результат запроса примера 4
8. Закройте окно построителя запросов и в появившемся окне сохранения запроса задайте ему имя Пример4.
9. В главном окне БД Сессия дважды щелкните по значку запроса Пример4. В появившемся окне Ввод параметра введите название другой дисциплины и номер нужной группы. Просмотрите результат запроса. Закройте окно Представление данных таблицы.
Задание 5. Создайте запрос по указанному преподавателем варианту.
1. Создайте запрос, формирующий список студентов заданной группы, получивших отличную оценку по заданной дисциплине.
2. Создайте запрос, формирующий список студентов заданной группы, получивших отличные оценки в сессию. Поля ФИО и Дисциплина отсортировать по возрастанию.
3. Создайте запрос, формирующий список анкетных данных студентов, проживающих на улице Советская. Список отсортировать по возрастанию поля ФИО.
4. Создайте запрос, формирующий список анкетных данных студентов, не имеющих домашнего телефона.
5. Создайте запрос, формирующий список анкетных данных студентов заданной группы. Список отсортировать по возрастанию поля ФИО.
6. Создайте запрос, формирующий список анкетных данных студентов, фамилии которых начинаются на “С” или “П”.
7. Создайте запрос, формирующий список анкетных данных студентов, домашний телефон которых заканчивается на цифру 15.
8. Создайте запрос, формирующий список анкетных данных студентов, родившихся во втором квартале 1992 или 1993 годах.
9. Создайте запрос, формирующий список анкетных данных студентов - мужчин, фамилии которых не начинаются на “С”. Список отсортировать по возрастанию поля ФИО.
10. Создайте запрос, формирующий список студентов заданной группы, получивших хорошие и отличные оценки в сессию. Поля ФИО и Дисциплина отсортировать по возрастанию.
Дата добавления: 2015-11-16; просмотров: 49 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Создание запросов по образцу | | | Создание отчетов |