- •Лабораторна робота № 27
- •Тема: Конструювання однотабличного запиту на вибірку
- •Мета : Ознайомитися з способами побудови запитів, засвоїти прийоми роботи з конструктором запитів.
- •Технологія побудови запитів у режимі Конструктора
- •2. Хід роботи
- •Завдання на рівень “Достатній”
- •1. Створення запиту на вибірку з логічними операціями в умові відбору
- •2. 3. Створення обчислюваних полів у запитах
- •2. 2. Використання в умові відбору виразів з іменами полів
- •Додатково завдання на рівень “Середній”
- •2.. 4. Групові операції в запитах
- •2. 4. 1. Конструювання запиту з функцією Count
- •2. 4. 2. Конструювання запиту з функцією Avg
- •Додатково завдання на рівень “Високий”
- •2. 5. Запит із кількома статистичними функціями
- •2. 6. Задання умов відбору в запитах із груповими операціями
- •Контрольні запитання
2. 2. Використання в умові відбору виразів з іменами полів
У попередньому прикладі в умові відбору в якості операндів використовувалися тільки конкретні значення для відбору по полях. Створимо запит, в умові відбору якого порівнюються значення в різних полях.
Задача 2: Перевірити правильність завдання загальних годин у таблиці ПРЕДМЕТ. По запиту повинні відбиратися тільки ті записи, у яких значення в полі ГОДИНИ не дорівнює значенню, одержуваному при додаванні значень полів ПР и ЛЕК.
Повторіть пункт 1 з попередньої вправи.
У вікні конструктора у стовпчики бланка запиту в рядок Поле перетягніть з списку полів таблиці ПРЕДМЕТ поля НП, ГОДИНИ, ЛЕК і ПР
Запишіть у бланку запиту в стовпчику , ГОДИНИ у рядку Условия отбора <>[ЛЕК]+[ПР].
Збережіть запит під іменем —ЗАДАЧА2.
Виконайте запит. Проаналізуйте отриманий результат. З’ясуйте, як необхідно змінити дані у таблиці ПРЕДМЕТ, щоб результуюча таблиця у цьому запиті була порожньою. Змініть дані належним чином та знову виконайте запит.
Якщо Ви не бажаєте виконувати роботу далі, оформіть звіт, скопіюйте файл бази даних у власну папку на сервері та підготуйте файл бази даних для перевірки (два запити).
Додатково завдання на рівень “Середній”
2. 3. Створення обчислюваних полів у запитах
Обчислюване поле, включене в запит, дозволяє одержати нове поле з результатами обчислення, відображуваними тільки в таблиці запиту, і не задає полів у вихідних таблицях бази даних.
Задача 3: Знайти записи про предмети, у яких загальне число годин по предмету не збігається із сумою годин лекцій і практики. Для рішення цієї задачі розрахуємо різницю між загальним числом годин по предмету (поле ГОДИНИ) і сумою годин лекцій (поле ЛЕК) і практики (поле ПР). У відповідь включимо тільки ті записи, для котрих ця різниця не дорівнює нулю.
Створіть у режимі конструктора запит на вибірку для таблиці ПРЕДМЕТ. Перетягніть в бланк запиту поля НП, ПР, ЛЕК, ГОДИНИ
Для підрахунку різниці створіть обчислюване поле в порожній комірці рядка Поле, записавши до неї вираз:
[ГОДИНИ]-[ПР]-[ЛЕК]
Для формування складного виразу в полі що обчислюється, доцільно використовувати побудувач виразів. Побудувач дозволяє вибрати необхідні у виразі імена полів із таблиць, запитів, форм, знаки операцій, функції. Видаліть вирази в полі що обчислюється і використовуйте побудувач для його формування.
Викличте
побудувач виразів, натиснувши на панелі
конструктора запитів кнопку Построить
,
або
обравши Построить
у контекстному
меню (курсор миші повинен бути встановлений
у рядку Поле
поля, що обчислюється).
У лівій частині вікна Построитель выражений виберіть таблицю ПРЕДМЕТ, на якій побудований запит. Справа відобразиться список її полів. Послідовно вибирайте потрібні поля, натискаючи кнопку Вставить, і вставляючи знаки операцій. При цьому у верхній частині вікна сформується вираз. Для відбору записів із ненульовим значенням різниці в обчислюваному полі в рядок Условие отбора уведіть <> 0 (не равно 0).
Після введення виразу система за замовчанням формує ім'я поля що обчислюється - Выражение 1:. Це ім'я вставиться перед виразом [ГОДИНИ]-[ПР]-[ЛЕК].
Для зміни імені побудованого поля встановіть курсор у полі, що обчислюється, бланка запиту і натисніть праву кнопку миші. У контекстному меню виберіть Свойства і в рядок Подпись поля введіть нове ім'я поля — ГОДИНИ не дорівнюють ПР+ЛЕК. Ім'я поля може бути налагоджене також безпосередньо в бланку запиту.
Збережіть запит під іменем —ЗАДАЧА 3.
Виконайте запит. Проаналізуйте отриманий результат.
