不好意思,上面有一点错误,应该是:找出工资比部门的平均工资高的员工的记录,请问怎么写sql语句?

解决方案 »

  1.   

    就是说找出比部门的平均工资高的员工。
    怎么写sql语句。
    数据可以自己编个四五个就可以了,部门是不同的部门。
      

  2.   


    --建立测试环境
    Create table emp
    (empno varchar(20),
    empname varchar(20),
    empwage Int,
    empdpt varchar(20)
    )
    GO--插入数据
    Insert emp values('001','AA',800,'01')
    Insert emp values('002','BB',1000,'01')
    Insert emp values('003','CC',1500,'01')
    Insert emp values('004','DD',1200,'02')
    Insert emp values('005','EE',800,'02')
    GO
    --测试Select A.* from emp A Inner Join
    (Select empdpt,AVG(empwage) As AVGwage from emp Group By empdpt) B
    On A.empdpt=B.empdpt And A.empwage>B.AVGwage--删除测试环境
    Drop table emp--结果
    /*
    empno empname empwage empdpt
    003 CC 1500 01
    004 DD 1200 02
    */
      

  3.   

    select *
    from emp a
    where empwage > (select avg(empwage) from emp where empdpt = a.empdpt)
    order by empdpt
      

  4.   

    select a.* from emp a,(select avgwage=avg(empwage),empdpt from emp group by empdpt) b 
    where a.empdpt=b.empdpt and a.empwage>b.avgwage