«Найдите отделы с самой высокой средней зарплатой».Выполнение SQL-подкатегорий
select dept_name
from instructor
group by dept_name
having avg (salary) >= all (select avg (salary)
from instructor
group by dept_name)
На основании выше вложенного подзапроса, я немного запутался, как она выполняется. Может ли кто-нибудь подтвердить правильность моей интерпретации?
Сначала будет запущена вторая строка from instructor
, и из этого отношения кортежи будут сгруппированы по dept_name
. Затем по этому вновь сформированному отношению, которое сгруппировано по dept_name
, вы будете проверять среднюю зарплату для каждой группы и сравнивать значение со всеми другими средними зарплатами от нового отношения инструктора, которое было сформировано в подзапросе. Это верно? Подзапрос сформирует новое отношение, так что на самом деле у вас будет два отдельных отношения, которые действуют?
(select avg (salary)
from instructor
group by dept_name)
В приведенном выше подзапроса, я первоначально думал, в зависимости от того атрибуты не будут объединены в группы по п ОКАЗАТЬ появится в выбранном пункте. Но в этом случае почему не dept_name
присутствует в предложении select в подзапросе?
Только что изменил его текст! – LP45