У меня есть 2 вопроса относительно запросов sqlite3 с использованием 2 таблиц - PullRequest
0 голосов
/ 15 марта 2019

Questions are based on this image

A) Перечислите каждого лектора вместе с каждым модулем, который они преподают, и количество студентов, изучающих этот модуль, в порядке имени лектора.

B) Выведите количество модулей, в которых каждый прошел модуль (при условии, что проходной балл равен 40).

1 Ответ

0 голосов
/ 15 марта 2019

Для A вам необходимо объединить 2 таблицы, а затем group by lecturer, module и подсчитать количество строк для каждой группы (каждая строка соответствует студенту):

select t.lecturer, t.module, count(*) numberofstudents
from teaches t inner join studies s
on s.module = t.module
group by t.lecturer, t.module
order by t.lecturer

Для B используйте NOT EXISTS, чтобы найти модули со всеми оценками >= 40 и сосчитать их:

select count(distinct module) numberofmodules
from studies s
where not exists (
  select 1 from studies 
  where module = s.module and grade < 40
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...