- •Тема: Багатотабличні запити на вибірку. Перехресні запити
- •1. Теорія
- •1.1. Об'єднання записів зв'язаних таблиць
- •1. 2. Перехресні запити
- •2. Хід роботи На рівень «Достатній»
- •2.1. Конструювання багатотабличного запиту на вибірку
- •2. 1.1. Конструювання запиту на основі кількох взаємозалежних таблиць
- •2.1. 2. Введення параметрів у запит
- •2.1. 3. Групові операції в багатотабличному запиті
- •На рівень «Середній»
- •2. 1. 4. Рішення задачі, що вимагає виконання декількох запитів
- •2. 2. Створення перехресної таблиці
- •На рівень «Високий»
- •2.3. Створення перехресної таблиці на основі даних з кількох таблиць
2.1. 3. Групові операції в багатотабличному запиті
Задача 4. Підрахувати кількість оцінок (2, З, 4, 5), виставлених викладачами по кожному з предметів.
1. Для формування відомостей про оцінки, отримані студентами по різним предметам, створіть багатотабличний запит на вибірку на основі таблиць СТУДЕНТ, УСПІШНІСТЬ, ПРЕДМЕТ, у бланк запиту включіть поля НП (найменування предмета), ОЦІНКА, ПІП_СТУД.
Основу утворення записів цього запиту складає таблиця УСПІШНІСТЬ, а дані, що розшифровують, вибираються з таблиць ПРЕДМЕТ і СТУДЕНТ. Таким чином, кожен рядок результату буде містити інформацію про одну оцінку, отриману студентом по зазначеному в рядку предмету. Число рядків у таблиці запиту буде дорівнює числу рядків у таблиці УСПІШНІСТЬ.
Для групування записів з однаковим найменуванням предмета й оцінкою, а також підрахунку кількості записів у групі натисніть кнопку Групповые операции й у відповідному рядку в полях НП і ОЦІНКА залишіть значення Группировка, а в полі ПІП_СТУД виберіть функцію Count.
Збережіть запит під назвою Задача 4, виконайте його. Перегляньте запит у режимі SQL. Проаналізуйте інструкцію SELECT для цього запиту.
На рівень «Середній»
2. 1. 4. Рішення задачі, що вимагає виконання декількох запитів
Задача 5. Визначити середнє навантаження викладача кафедри. Для цього потрібно підрахувати кількість викладачів кафедри, потім загальну кількість годин занять, проведених кафедрою, і завершити рішення задачі розрахунком середнього навантаження викладача.
1. Перший запит. Створіть запит на вибірку, у якому по таблиці ВИКЛАДАЧІ за допомогою функції Count підраховується число викладачів на кожній кафедрі. В результаті роботи повинні бути відтворені код кафедри, її назва, число викладачів на кожній з перерахованих кафедр. Збережіть запит під іменем Число_викладачів_ кафедри.
2. Другий запит. Для підрахунку загального числа годин занять, проведених кожною кафедрою, створіть запит на вибірку на базі таблиць ВИВЧЕННЯ і ВИКЛАДАЧІ.
Таблиця ВИВЧЕННЯ потрібна для підсумовування годин занять, проведених викладачами кожної кафедри.
Оскільки ця таблиця не містить коду кафедри, до якої відноситься той чи інший викладач, необхідно додати в запит таблицю ВИКЛАДАЧІ, що визначає, на якій кафедрі працює викладач.
Записи цього запиту формуються на основі записів таблиці ВИВЧЕННЯ, причому число записів до проведення групування дорівнює числу записів у цій таблиці. При виконанні запиту до кожного запису додається код кафедри ККАФ, по якому і виробляється угруповання. Число годин кафедри підраховується за допомогою функції Sum по полю ГОДИНИ. Число записів у таблиці результату запиту дорівнює числу кафедр, для яких є рядки в таблиці ВИВЧЕННЯ.
Збережіть запит під іменем Години_кафедри.
3. Третій запит. Для остаточного рішення задачі розрахунку середнього навантаження викладача кафедри підготуйте на базі двох попередніх запитів третій запит на вибірку з полем, що обчислюється. Для створення поля, що обчислюється, яке розраховує середнє навантаження викладача, у рядок Поле порожнього стовпця введіть вираз [Sum_ГОДИНИ]/[Соunt_ТАБН]. Таблицю КАФЕДРА слід також включити в запит для доповнення коду кафедри найменуванням.
Для зміни в таблиці результату підпису Выражение 1, сформованої за замовчуванням для поля, що обчислюється, і її формату (для одержання результату з округленням до цілого) виділіть стовпець цього поля в бланку запиту і викличте через контекстне меню Свойства.
Задайте в Подпись поля значення Середнє навантаження викладача, у Формат поля (Format) — Фиксированный и в Число десятичных знаков - 0.
Збережіть запит під іменем Задача 5, виконайте його. Перегляньте запит у режимі SQL. Проаналізуйте інструкцію SELECT для цього запиту.
