为什么使用union all查询出来的值全是后一个语句的
select dname,sal from (select deptno,avg(sal) sal from emp group by deptno order by sal) a,dept
WHERE a.deptno=dept.deptno and rownum<=1
union all
select dname,sal from (select deptno,avg(sal) sal from emp group by deptno order by sal desc) a,dept
WHERE a.deptno=dept.deptno and rownum<=1;
这个语句查询出来两个值都是后面一个子查询的结果,分开差能分别查出最高和最低,使用union all 则出现两个最高
select dname from dept where deptno=(select deptno from (select deptno from emp group by deptno order by avg(sal) )where rownum<=1)
union all
select dname from dept where deptno=(select deptno from (select deptno from emp group by deptno order by avg(sal) desc ) where rownum<=1);
这个可以得出正确结果,求大佬解释一下