题目描述

统计各个部门的工资记录数,给出部门编码dept_no、部门名称dept_name以及部门在salaries表里面有多少条记录sum

这题用到salaries表、dept_emp表和departments表

salaries表
dept_emp表
departments表

方法

select dp.dept_no,dp.dept_name,count(s.salary) as sum 
from dept_emp de,departments dp,salaries s 
where de.dept_no = dp.dept_no 
and de.emp_no = s.emp_no
group by dp.dept_no,dp.dept_name

1、用where将3个表连接在一起,dept_emp表和departments表用dept_no连接,dept_emp表和salaries表用emp_no连接

2、题目中说在salaries表里面有多少条记录sum,虽然有sum出现,但用的是count计数,只是将这个字段命名为sum,这一点需要注意。同时因为使用了count聚合函数,要用group by进行分组。

3、where连接的效果和inner join是一样的。

select dp.dept_no,dp.dept_name,count(s.salary) as sum 
from dept_emp de 
inner join departments dp on de.dept_no = dp.dept_no
inner join salaries s on de.emp_no = s.emp_no
group by dp.dept_no,dp.dept_name

结果都是如下图所示

结果

知识点

3表连接

  • where连接,确定好公共字段

  • 子查询先连两个再和第三个连



©著作权归作者所有:来自51CTO博客作者mb5fe18f5282239的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 一个简单的部门案例详解(PHP代码实例)
  2. Mysql_案例1:查询出每个部门工资最高的员工信息
  3. sql grouping with rollup 按部门 合并一些部门

随机推荐

  1. android通话流程浅析RIL层
  2. Android签名验证漏洞POC及验证
  3. Android UI开发第十七篇——Android Frag
  4. Android(安卓)activity 在AndroidMainAct
  5. android 开源项目:
  6. Android单位转换工具类
  7. android listen app package change, con
  8. android学习过程记录2010-12-06
  9. android webService
  10. Android slidingmenu详解 优化侧滑