Запрос, что вы хотите
select e.ename,d.DEPT_NAME, Max(e.sal) as salary, d.DEPT_NAME
from emp_774884 e join dept_774884 d on ( e.deptid = d.deptid)
join (select dept_774884.DEPT_NAME, Max(emp_774884.sal) as salary, dept_774884.DEPT_NAME
from emp_774884 e1 join
dept_774884 d1
on d1.deptid = e1.deptid
group by dept_774884.deptid) t on (e.deptid = t.deptid)
Теперь перейдем к делу. Почему вы получаете
ORA-00979: not a GROUP BY expression 00979. 00000 - "not a GROUP BY expression" *Cause:
*Action:
Таким образом, это исключение возникает, когда вы используете группу по исключению с некоторым столбцом, а во время выбора вы используете разные столбцы.
Другими словами
Вы можете выбрать только те столбцы, которые вы упомянули в группе.
Так что в вашем случае вы используете deptid как группу по столбцу, но вы также выбираете другой столбец.