Почему этот выбор не выбирает строки?
Ваш запрос не выполнен, поскольку в таблице employees
нет столбца department_name
. Таким образом, ваш подзапрос не выполняет то, что вы ожидаете:
where salary = (SELECT max(salary) FROM employees WHERE department_name = 'IT');
Если вы хотите сделать это с подзапросом, вам нужно сопоставить его:
select e.first_name, e.last_name, e.salary, d.department_name
from employees e
inner join departments d on d.department_id = e.department_id
where
d.department_name = 'IT'
and e.salary = (select max(e1.salary)
from employees e1
where e1.department_id = e.department_id);