数据库SQL实战:统计各个部门对应员工涨幅的次数总和

统计各个部门对应员工涨幅的次数总和,给出部门编码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_emp和salaries 连接,将该表与departments连接,按dept_no分组

count(salary)即记录了该部门的总涨薪次数

select d.dept_no,d.dept_name,count(salary)
from (dept_emp de inner join salaries s on de.emp_no=s.emp_no) inner join departments d on de.dept_no=d.dept_no
group by d.dept_no
(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐