在oracle中 “查询并显示每个部门的最高工资、最低工资、并按照部门编号降序排列” 怎么搞?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在oracle中 “查询并显示每个部门的最高工资、最低工资、并按照部门编号降序排列” 怎么搞?相关的知识,希望对你有一定的参考价值。
select deptno, (select max(sal) from emp group by deptno) maxSal,(select min(sal) from emp group by deptno) minSal
from emp order by deptno desc 哪里错了?
(select max(sal) from emp group by deptno) maxSa
(select min(sal) from emp group by deptno) minSal
group by deptno放错了位置,应该在这里去掉,在from emp 后面加上。
最好的写法是:
select deptno,max(sal) as maxSal,min(sal) as minSal from emp
group by deptno
order by deptno desc 参考技术A (select max(sal) from emp group by deptno) maxSal,(select min(sal) from emp group by deptno),这两列里出来的最大最小值,未必是对应的deptno的,而是所有部门的最大最小值,
这么改:
select a.deptno, (select max(sal) from emp where deptno=a.deptno) maxSal,(select min(sal) from emp where deptno=a.deptno) minSal
from emp a order by a.deptno desc本回答被提问者采纳 参考技术B 你不能那么写,为什么不直接应用函数
select deptno,max(sal) maxSal,min(sal) minSal from emp order by deptno desc; 参考技术C 一句代码就叫搞定了:
select deptno, max(sal) maxSal,min(sal) minSal
from emp group by deptno order by deptno desc
以上是关于在oracle中 “查询并显示每个部门的最高工资、最低工资、并按照部门编号降序排列” 怎么搞?的主要内容,如果未能解决你的问题,请参考以下文章