- •Практическая работа № 5
- •«Создание запросов с помощью конструктора запросов»
- •Создание запроса из двух таблиц.
- •Задание 8. Выберите из базы данных всех студентов, которые сдали сессию на "хорошо" и "отлично". Для этого выполните следующие действия:
- •Создание диаграммы по одномерной перекрестной таблице.
Практическая работа № 5
«Создание запросов с помощью конструктора запросов»
Откройте ранее созданный проект.
Перейдите на вкладку Data и выберите группу Queries (Запросы).
Нажмите кнопку New окна проекта.
В открывшемся диалоговом окне New Query (Новый запрос) нажмите кнопку New Query. Откроется диалоговое окно выбора таблиц Add Table or View.
В этом диалоговом окне выберите таблицу «Анкета» и с помощью кнопки Add перенесите ее в окно конструктора запросов.
Завершив выбор таблиц, нажмите кнопку Close. На экране появляется окно конструктора запросов Query Designer, а в основном меню появляется пункт Query.
Можно приступать к формированию условий запроса. На вкладке Fields из списка Available fields в список Selected fields перенесите следующие поля: анкета.nom, анкета.fio, анкета.g_rogd, анкета.group, анкета.dogovor (для переноса поля сначала выделите его, затем нажмите кнопку Add).
Запустите запрос на выполнение одним из следующих способов:
Нажмите кнопку Run на стандартной панели инструментов (<!>);
Выберите команду контекстного меню Run Query;
Выберите в меню Query команду Run Query;
Нажмите комбинацию клавиш <Ctrl> + <Q>.
На экране появятся результаты запроса, представленные в табличном виде.
Снова перейдите в окно конструктора запросов, закрыв таблицу с помощью системной кнопки.
Создание вычисляемого поля.
Задание 1: К созданному запросу добавьте поле, которое будет содержать адрес и телефон каждого студента.
Для этого выполните следующие действия:
На вкладке Fields нажмите кнопку вызова построителя выражения, расположенную рядом с полем Function and expressions.
В открывшемся диалоговом окне Expression Builder создайте следующее выражение при помощи окон Expression, Fields, String, Math:
ALLTRIM(анкета.address)+ “, тел. “ + ALLTRIM (анкета.telefon)
Функция ALLTRIM считывает символьное поле анкета.address, функция STR преобразует поле анкета.telefon к символьной строке длиной 6 символов. Математическая функция "+" объединяет три строки в одно поле.
Закройте окно построителя выражения, нажав кнопку Ok.
Для размещения созданного выражения в списке Selected fields нажмите кнопку Add.
Запустите запрос на выполнение. В открывшейся таблице появится новой поле, содержащее адрес и телефон студента.
Перейдите в окно конструктора запросов.
Упорядочение данных.
Задание 2: В созданном запросе фамилии студентов упорядочить по алфавиту.
Для этого выполните следующие действия:
Перейдите на вкладку Order By;
В списке Selected fields дважды щелкните на поле анкета.fio, перенесите его в список Ordering criteria. По умолчанию для него установлена опция Ascending, т.е. данные будут упорядочены в алфавитном порядке по возрастанию.
Запустите запрос на выполнение, просмотрите результаты.
Фильтрация записей.
Задание 3: Сформировать список студентов с годом рождения 1987. Упорядочить записи по возрастанию порядковых номеров.
Для этого выполните следующие действия:
Перейдите на вкладку Filter конструктора запросов.
В столбце Field Name нажмите кнопку раскрытия списка и из всех полей исходной таблицы выберите анкета.g_rogd.
В списке вариантов сравнения Criteria выберите оператор точного сравнения (==).
В поле Example введите значение 1987.
Перейдите на вкладку Order By.
В списке Ordering criteria выделите поле анкета.fio и нажмите кнопку Remove.
В списке Selected fields выделите поле анкета.nom, нажмите кнопку Add. Убедитесь, что установлена опция Ascending.
Запустите запрос на выполнение. Просмотрите и закройте запрос.
Сохраните созданный запрос под именем Год рождения.
Задание 4: Сформировать список студентов с порядковыми номерами от 1 до 5 и с годом рождения не равным 1987.
Для этого выполните следующие действия:
Перейдите на вкладку Filter.
Для первой записи анкета.g_rogd щелкните на поле Not, установив тем самым флажок (флажок ставится при формировании запроса с отрицанием условий выборки).
Во второй строке в столбце Field Name выберите из раскрывающегося списка значений поле анкета.nom. В списке вариантов сравнения Criteria выберите вариант (>=), в поле Example введите число 1.
В третьей строке в столбце Field Name выберите из раскрывающегося списка значений поле анкета.nom. В списке вариантов сравнения Criteria выберите вариант (<=), в поле Example введите число 5.
Запустите запрос на выполнение.
Задание 5: Сформировать список тех студентов, фамилии которых начинаются на «Ива» (если в вашей базе данных нет студентов с такими фамилиями, то осуществите фильтрацию по условию, которое подходит для вашей базы данных)
Для этого выполните следующие действия:
На вкладке Filter удалите все предыдущие условия. Для этого выделите их и нажмите кнопку Remove.
В столбце Field Name выберите поле анкета.fio.
В списке Criteria выберите значение = (равенство).
В столбце Example введите “Ива” (обязательно в кавычках).
Запустите запрос на выполнение. В результирующей таблице отобразятся данные студентов с фамилиями, например, Иванов, Ивашин и Иванцов.
Задание 6: Сформировать список студентов с фамилиями, например, Иванов, Петров, Сидоров (в этом примере выбирайте любые три фамилии, которые занесены в вашу базу данных).
Для этого выполните следующие действия:
На вкладке Filter удалите предыдущее условие.
Из списка Field Name выберите поле анкета.fio, из списка Criteria выберите значение In (среди заданных значений), в столбце Example через запятую, в кавычках, введите фамилии тех студентов, которые вас интересуют.
Запустите запрос на выполнение.