– 练习
练习一
-- 1.查询比所在职位平均工资高的员工姓名,职位。 -- 相关子查询: select ename 员工姓名, job 职位 from emp outer where sal > (select avg(sal) from emp where job = outer.job); -- 子查询在from子句中使用 select e.ename , e.job from emp e,(select job, avg(sal) avgsal from emp group by job) a where e.job = a.job and e.sal > a.avgsal; -- 2.查询工资为其部门最低工资的员工编号,姓名,工资。 -- 相关子查询 select empno 员工编号, ename 姓名, sal 工资 from emp outer where sal = (select min(sal) from emp where deptno = outer.deptno); -- 子查询在from字句中使用 select empno, ename, sal from emp,(select deptno,min(sal) avgsal from emp group by deptno) a where emp.deptno = a.deptno and sal = a.avgsal;
练习二
-- 1.查询所有雇员编号,名字和部门名字。 select e.empno 员工编号,e.ename 名字, (select dname from dept where deptno = e.deptno) 部门名字 from emp e; -- 2.查询哪些员工是经理? select * from emp e where 0 < (select count(ename