SQL查询语句5

2017-07-12  本文已影响0人  发觉原来我只是250

5、 列出所有“CLERK”(办事员)的姓名,及其部门名称,部门人数,工资等级。

◆ 确定要使用的数据表:

● emp表:姓名。

● dept表:部门名称。

● emp表:部门人数。

● salgrade表:工资等级。

◆ 确定已知的关联字段:

● 雇员和部门:emp.deptno = dept.deptno

● 雇员和工资等级:emp.sal BETWEEN salgrade.losal AND salgrade.hisal

第一步:找到所有办事员的雇员信息

SELECT e.ename FROM emp e WHERE e.job='CLERK' ;

第二步:部门名称

SELECT e.ename, d.dname FROM emp e, dept d

WHERE e.job='CLERK' AND e.deptno=d.deptno ;

第三步:统计部门人数

SELECT e.ename, d.dname, temp.count

FROM emp e, dept d, (

SELECT deptno dno, COUNT(empno) count FROM emp GROUP BY deptno ) temp

WHERE e.job='CLERK'

AND e.deptno=d.deptno

AND temp.dno=d.deptno ;

第四步:查询出工资等级

SELECT e.ename, d.dname, temp.count, s.grade

FROM emp e, dept d, (

SELECT deptno dno, COUNT(empno) count FROM emp GROUP BY deptno ) temp, salgrade s

WHERE e.job='CLERK'

AND e.deptno=d.deptno

AND temp.dno=d.deptno

AND e.sal BETWEEN s.losal AND s.hisal ;

上一篇下一篇

猜你喜欢

热点阅读