oracle中关于emp表的一些问题,急求! 书写以下SQL(要求一条SQL语句完成) 列出工资比

2025-03-26 07:12:40
推荐回答(2个)
回答1:

  1. select * from emp where sal>(select max(sal)/2 from emp);

  2. 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

  3. select a.* from 

    (select job,count(*) cnt from emp group by job order by cnt desc) a where rownum <3

  4. 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

  5. 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


结果都能查出来,至于效率是不是最高的,自己分析执行计划吧

回答2:

不是吧!这么多?参数呢?