SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 08.07.2019 13:44:54

Nanofox
Участник
Зарегистрирован: 08.07.2019
Сообщений: 1

Формирование сложного запроса

Нашел задание, но никак не могу его выполнить.

В чем суть:
1. Есть СУБД, построенная по rbd схеме(прилагается).
2. Есть запрос, сформулированный на русском языке.
3. Есть понимание, какие таблицы для этого придется использовать.

Проблема в том, что не могу сообразить, как сам запрос построить. Потому требуется помощь в том, как запрос сформулировать. Можно даже на русском)

Вот запрос:
Посчитать средний возраст преподавателей, которые ведут занятия у студентов более чем двух подразделений. Вывод: средний возраст преподавателей.


Информация о преподавателях находится в таблице Teacher, о фактах проведения занятий – в таблице Class, при этом определить группу студентов, у которых проводятся занятия можно через таблицу Cluster и связанную с ней StudyGroup, определить к какому подразделению относится группа можно при помощи внешнего ключа этой таблицы  на таблицу Study_department. Вот то, до чего додумался я.

Отредактированно Nanofox (08.07.2019 13:46:22)


Прикрепленные файлы:
Attachment Icon Screenshot_20190708_174346.png, Размер: 355,612 байт, Скачано: 243

Неактивен

 

#2 11.07.2019 08:23:30

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5829

Re: Формирование сложного запроса

select Teacher.id
from Teacher join Class join Cluster  join StudyGroup ...
group by Teacher.id
having count(StudyGroup.department_id)>2; --найдет преподавателей, которые ведут занятия у студентов более чем двух подразделений.

select avg(dbirth) from Teacher where Teacher.id in (первый запрос); -- вернет средний возраст преподавателей.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson