• 1.查询每个部门的部门编号,部门名称,部门人数,最高工资
,最低工资,工资总和,平均工资。
(列名得写在组里,函数不用谢在组里,函数前面不能加列名,count(中一般加的是主键))
SELECT e.deptno 部门编号,d.dname 部门名称,COUNT(deptno) 部门人数,
MAX(e.sal) 最高工资,MIN(e.sal) 最低工资,SUM(e.sal) 工资总和,AVG(e.sal) 平均工资
from dept d,emp e
WHERE e.deptno=d.deptno
GROUP BY e.deptno,d.dname;
• 2.查询每个部门,每个岗位的部门编号,部门名称,岗位名称
,部门人数,最高工资,最低工资,工资总和,平均工资。
SELECT e.deptno 部门编号,d.dname 部门名称,e.job 岗位名称,COUNT(e.deptno) 部门人数,
MAX(e.sal) 最高工资,MIN(e.sal) 最低工资,SUM(e.sal) 工资总和,AVG(e.sal) 平均工资
FROM emp e,dept d
WHERE e.deptno=d.deptno
GROUP BY e.deptno,d.dname,e.job;
• 3.查询每个经理所管理的人数,经理编号,经理姓名,要求包
括没有经理的人员信息。
SELECT a.mgr 经理编号,COUNT(a.deptno)经理所管理的人数,b.ename 经理姓名
from emp a LEFT OUTER JOIN emp b
ON a.mgr=b.empno
GROUP BY a.mgr;
SELECT COUNT(m.empno) 管理人数,e.mgr 经理编号,m.ename 经理姓名
from emp e LEFT OUTER JOINemp m
on(e.mgr=m.empno)
GROUP BY e.mgr,m.ename;
网友评论