SQL-22 统计各个部门对应员工涨幅的次数总和,给出部门编码dept_no、部门名称dept_name以及次数sum

题目描述

统计各个部门对应员工涨幅的次数总和,给出部门编码dept_no、部门名称dept_name以及次数sum
CREATE TABLE `departments` (
`dept_no` char(4) NOT NULL,
`dept_name` varchar(40) NOT NULL,
PRIMARY KEY (`dept_no`));
CREATE TABLE `dept_emp` (
`emp_no` int(11) NOT NULL,
`dept_no` char(4) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`dept_no`));
CREATE TABLE `salaries` (
`emp_no` int(11) NOT NULL,
`salary` int(11) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`from_date`));

输入描述:

输出描述:

dept_nodept_namesum
d001 Marketing 24
d002 Finance 14
d003 Human Resources 13
d004 Production 24
d005 Development 25
d006 Quality Management 25

SQL:

先查出一个员工 的涨幅次数 然后在部门里面进行分组 加

select d.dept_no,de.dept_name,sum(empt.t)as sum
from dept_emp d,departments de,
    (select emp_no,count(emp_no) as t from salaries group by emp_no) as empt
where d.dept_no=de.dept_no and d.emp_no=empt.emp_no
group by d.dept_no

  

posted @ 2019-04-10 15:17  柯汐  阅读(429)  评论(0编辑  收藏  举报