Первый запрос ищет отдел D с сотрудником Y в отделе 20, который выполняет ту же работу, что и сотрудник X в отделе D.
Второй запрос выполняет то же самое, но с переключенными X и YПоэтому я думаю, что они эквивалентны.
Возможно, запрос проще с join
вместо not exists
подзапросов.Например, это будет функционально эквивалентно:
select distinct dept.deptno
from dept
join emp x
on x.deptno = dept.deptno
join emp y
on y.deptno = 20
and y.job = x.job
where dept.deptno <> 20