oracle中关于emp表的一些问题,急求! 书写以下SQL(要求一条SQL语句完成) 列出工资比
书写以下SQL(要求一条SQL语句完成)
列出工资比最高工资的一半要高的员工
列出平均工资超过公司平均工资的部门名称
列出人数最多的两个工种
列出人数最多的部门名称
列出工资差(最高-最低)最大的部门名称 展开
select * from emp where sal>(select max(sal)/2 from emp);
select b.dname from
(select deptno,avg(sal) from emp group by deptno having avg(sal)>(select avg(sal) from emp)) a
left join dept b on b.deptno=a.deptno
select a.* from
(select job,count(*) cnt from emp group by job order by cnt desc) a where rownum <3
select b.dname from
(select deptno,count(*) cnt from emp group by deptno order by cnt desc) a
left join dept b on a.deptno=b.deptno where rownum=1
select b.dname from
(select deptno, max(sal)-min(sal) saldec from emp group by deptno order by saldec desc) a
left join dept b on a.deptno=b.deptno
where rownum=1
结果都能查出来,至于效率是不是最高的,自己分析执行计划吧
2013-10-24