《数据库SQL实战》统计出当前各个title类型对应的员工当前薪水对应的平均工资。
程序员文章站
2022-04-10 23:34:13
...
题目描述
统计出当前各个title类型对应的员工当前薪水对应的平均工资。结果给出title以及平均工资avg。
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
));
CREATE TABLE IF NOT EXISTS “titles” ( emp_no
int(11) NOT NULL, title
varchar(50) NOT NULL, from_date
date NOT NULL, to_date
date DEFAULT NULL);
输入描述:
无
解析:该题目有个字眼要是没看到,估计想一万年都是做梦了。这个字眼就是“当前”。注意是“当前薪水“,而当前用日期的表示是to_date=’9999-01-01’.
select c.title as title ,avg(c.salary) as avg//在临时表的基础上再分组统计
from
(
select a.title as title,b.salary as salary//先连接查询出来数据作为临时表
from titles a,salaries b
where a.emp_no=b.emp_no and a.to_date='9999-01-01' and b.to_date='9999-01-01'
) as c
group by c.title
上一篇: java 员工管理系统