emp: empno,deptno,sal
select b.deptno
from (select deptno,count(*) c1
from emp
where sal > ( select avg(sal) from emp )
group by deptno) a,
emp b
where a.deptno = b.deptno
group by b.deptno
having count(*) = a.c1
select b.deptno
from (select deptno,count(*) c1
from emp
where sal > ( select avg(sal) from emp )
group by deptno) a,
emp b
where a.deptno = b.deptno
group by b.deptno
having count(*) = a.c1
from (select deptno,count(*) c1
from emp
where sal > ( select avg(sal) from emp )
group by deptno) a,
emp b
where a.deptno = b.deptno
group by b.deptno,c1
having count(*) = a.c1
select deptno from emp
minus
select deptno from emp
where sal<(select avg(sal) from emp)
group by deptno
select distinct deptno from emp a
where not exists
( select 1 from emp b
where a.deptno = b.deptno
and sal < (select avg(sal) from emp) )