Вывести наименьшую зарплату, имя и идентификатор для КАЖДОГО отдела в Oracle SQL - PullRequest
0 голосов
/ 06 октября 2018

Вопрос по домашнему заданию:

Отображение фамилии, идентификатора отдела и минимальной заработной платы сотрудника в этом отделе

Вот что у меня есть:

SELECT DISTINCT department_id, min(salary)
FROM employees
GROUP BY department_id;

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

Ответы [ 2 ]

0 голосов
/ 06 октября 2018

Другой способ - использовать исходный запрос в качестве подзапроса для соединения с:)

select last_name, department_id, X.salary
from employees e1
join (SELECT department_id, min(salary) as salary
      FROM employees
      GROUP BY department_id;) X
on e1.department_id = X.department_id;

Надеюсь, это поможет.

0 голосов
/ 06 октября 2018

Одним из способов является использование not exists:

select last_name, department_id, salary
from employees e1
where not exists (
    select 1
    from employees e2 
    where e1.department_id = e2.department_id
    and e1.salary > e2.salary
    );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...