日期:2014-05-16 浏览次数:20440 次
仍然使用SCOTT用户来操作:
1、???????? 显示工资比部门30的所有员工的工资都高的员工的信息:
Select * from emp where sal>all(select sal from emp where deptno=30);
2、???????? 显示工资比部门30的任意一个员工的工资高就可以的员工的信息:
Select * from emp where sal>any(select sal from emp where deptno=30);
其实,换种方法也是可以的:
Select * from emp where sal>(select min(sal) from emp where deptno=30);
3、???????? 找出和SMITH的部门号、工作都相同的员工的信息:
Select * from emp where (deptno,job)=(Select deptno,job from emp where ename=’SMITH’);
4、???????? 如何显示高于自己部门平均工资的员工的信息
解决这个复杂一点的查询,我们可以这样考虑:
先找出每个部门的平均工资:
Select deptno,avg(sal) avg_sal from emp group by deptno;结果如下:
SQL> select deptno,avg(sal) avg_sal from emp group by deptno;
?
DEPTNO??? AVG_SAL
------ ----------