Проблема с вашим заключается в использовании ключевого слова as
для псевдонима подзапроса. Oracle не поддерживает это. Ваш запрос должен работать, если вы его удалите:
select ...
from emp p
left join (
select id_team, avg(base_salary) as s, count(*) as c from emp group by id_team
) as o on p.id_team = o.id_team)
--^-- here
where ...
С другой стороны, я думаю, что ваш запрос можно было бы сформулировать более эффективно, используя оконные функции:
select surname, base_salary
from (
select
surname,
base_salary,
avg(base_salary) over(partition by id_team) avg_base_salary,
count(*) over(partition by id_team) no_emps
from emp
) e
where no_emps > 2 and base_salary between avg_base_salary * 0.7 and avg_base_salary * 1.3