表:emp
 EMPNO                                     NOT NULL NUMBER(4)
 ENAME                                              VARCHAR2(10)员工姓名
 JOB                                                VARCHAR2(9)
 MGR                                                NUMBER(4)
 HIREDATE                                           DATE
 SAL                                                NUMBER(7,2)//工资
 COMM                                               NUMBER(7,2)
 DEPTNO                                             NUMBER(2)//部门的id求每个部门的最高工资以及对应的用户名

解决方案 »

  1.   

    select a.* from ( SELECT * FROM emp order by sal desc,DEPTNO desc ) a  group by a.DEPTNO
      

  2.   

    select a.sal ,a.ENAME  from ( SELECT * FROM emp order by sal desc,DEPTNO desc ) a  group by a.DEPTNO
      

  3.   

    刚写的,正确的是: 
    select ename,sal from emp join(select max(sal) max_sal,deptno from emp group by deptno) t 
    on (emp.sal=t.max_sal and emp.deptno=t.deptno);
      

  4.   

    select ENAME,EMPNO,max(SAL) from emp group by EMPNO                                               
      

  5.   

    select ename,max(s.empprice) from emp s inner join dep on dep.depno=s.depno group by dep.depname
      

  6.   

    select a.ename,a.deptno,a.sal from  (
    select deptno,max(sal) as sal from emp group by deptno )b 
     left join emp a
    on a.deptno = b.deptno and a.sal = b.sal
    select a.ename,a.sal,a.deptno from emp a where a.sal = (
    select max(sal) as sal from emp group by deptno having deptno = a.deptno)
      

  7.   

    select a.ename,a.sal,a.deptno from emp a where a.sal = (
    select max(sal) as sal from emp where deptno = a.deptno group by deptno  )
      

  8.   


    select ename,sal from emp as s1 where sal=(select max(sal) from emp where deptno=s1.deptno) group by deptno
    select ename,sal from emp as s1 where sal in (select max(sal) from emp group by deptno)
      

  9.   

    select ename,sal from emp as s1 where sal in (select max(sal) from emp group by deptno)
    这一条 数据 有误。