У меня есть следующие отношения:
- учит (ID, идентификатор_курса, sec_id, семестр, год)
- инструктор (ID, имя, имя_депта, заработная плата)
Я пытаюсь express следующее как SQL запрос:
Найти идентификатор и имя преподавателя, который преподавал большинство курсов (т. е. имеет наибольшее количество кортежей среди преподавателей).
Мой запрос
select ID, name
from teaches
natural join instructor
group by ID
order by count(*) desc
Я знаю, что это не правильно , но я чувствую, что я на правильном пути. Чтобы ответить на вопрос, вам нужно поработать с обоими отношениями, поэтому требуется операция естественного соединения. Поскольку вопрос требует инструктора, который преподавал большинство курсов, это говорит мне о том, что мы пытаемся подсчитать, сколько раз каждый ID инструктора появляется в отношении преподавателей. Из того, что я понимаю, мы рассчитываем посчитать разные идентификаторы инструкторов, поэтому необходима группировка по команде.