分享

表的复杂查询

 jtll521 2011-06-23
--数据分组-max,min,avg,sum,count
--如何显示所有员工中最高工资和最低工资
  select min(sal) from emp  --能查询出最低工资
--如何显示最低工资和该雇员的名字
  select ename,sal from emp where sal=(select min(sal) from emp) --可以实现
--显示所有员工的平均工资和工资总和
  select avg(sal) '平均工资',sum(sal) 总工资 from emp
 
--把高于平均工资的雇员的名字和他的工资显示
  select ename,sal from emp where sal>(select avg(sal) from emp)
--把高于平均工资的雇员的名字和他的工资显示,并显示平均工资
   select ename,sal,(select avg(sal) from emp) from emp where sal>(select avg(sal) from emp)
   这个效率不高,以后可以改进

--计算共有多少员工
  select count(*) from emp

---group by 和 having字句
--请问如何显示每个部门的平均工资和最高工资
  select avg(sal), depno, max(sal) from emp group by depno
--显示每个部门的每种岗位的平均工资和最低工资
  select avg(sal),min(sal),deptno,job from emp group by deptno,job order by deptno
--显示平均工资低于2000的部门号和它的平均工资
--having 往往和group by 结合使用,可以对分组查询结果进行筛选
  select avg(sal),depyno from emp group by deptno having avg(sal)<2000
  




    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约