用sql语句实现'查询各部门名称和该部门员工数'
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用sql语句实现'查询各部门名称和该部门员工数'相关的知识,希望对你有一定的参考价值。
用sql语句实现'查询各部门名称和该部门员工数'
具体语句如下:
结构化查询语言(Structured Query Language)简称SQL(发音:/ˈes kjuː ˈel/ "S-Q-L"),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。
参考技术A select 部门名称,count(人员ID) as 人数 from 员工表 group by 部门名称 参考技术B SELECTDEPT.DNAME,EMP.ENAME,(EMP.SAL+NVL(EMP.COMM,0))ASSCFROMEMP,DEPT,(SELECTDEPT.DEPTNOASD,AVG(EMP.SAL+NVL(EMP.COMM,0))ESCFROMDEPT,EMPWHEREEMP.DEPTNO=DEPT.DEPTNOGROUPBYDEPT.DEPTNO)TWHEREEMP.DEPTNO=DEPT.DEPTNOANDEMP.DEPTNO=T.DAND(EMP.SAL+NVL(EMP.COMM,0))T.ESC;查询各部门中高于部门平均工资的人员,人数及该部门的平均工资
先通过查询得到平均工资表,然后在联结查询平均工资表和员工表,Group by修饰count(*),Group by要在where子句之后,order by子句之前。
select a.*,avgsal,count(*) as number from emp as a,(select deptno,avg(salary) as avgsal from emp group by deptno) as b where a.deptno=b.deptno and a.salary>b.avgsal group by a.deptno order by a.deptno;
以上是关于用sql语句实现'查询各部门名称和该部门员工数'的主要内容,如果未能解决你的问题,请参考以下文章