复杂查询
2.11SQL语句-----复杂查询
1列出至少有一个员工的所有部门编号、名称,并统计出这些部门的平均工资、最低工资、最高工资。
-----确定表:deptno dname
-----确定字段 d.deptno ,d.dname,部门的avg(sal), 部门的min(sal), 部门的max(sal)
-----确定关联关系:d.deptno=e.deptno
列出所有的部门编号和名称
每个部门有多少个员工
1.列出与‘SCOTT’从事相同工作的所有员工及部门名称,部门人数,平均工资
SELECT e.ename,d.dname,temp.count,temp.avg
FROM emp e,dept d,(
SELECT deptno dp,COUNT(empno) count,AVG(sal) avg
FROM emp
group by deptno) temp
where e.job=(
select job
from emp
where ename=‘SCOTT’
)
and e.deptno=d.deptno
and d.deptno=temp.dp
;
2.列出薪资高于在部门30工作的所有员工的薪资,以及高于公司平均薪资员工姓名和薪资,部门名称,部门平均工资,个人工资等级
1.列出薪金等于部门30中员工的薪金的所有员工的姓名和薪金。
分析:查看部门30 中所有员工薪资列表 select sal from emp where deptno = 30;
select * from emp where sal in (select sal from emp where deptno = 30);
3.查询出所有雇员编号,姓名,职位,薪资,此职位人数,领导姓名,领导职位,领导所在职位的人数,部门名称,部门人数,领导部门,领导所在部门人数,雇员工资等级以及此等级的平均工资