#一.背景描述:
##来源:尚硅谷MySQL教学98课案例2
##问题:查询平均工资最低的部门信息
##附件:相关数据库 提取码:8r48
#二.问题分析:
该问题中平均工资涉及employees表,部门信息涉及departments表,
可将该问题按步骤拆分:
- 查询各部门平均工资
- 查询最低部门平均工资
- 查询最低部门平均工资对应部门编号
- 查询此部门编号对应部门信息
按此逻辑,尚硅谷的李玉婷老师给出的方案是:
##方式一:
①各部门平均给工资
SELECT AVG(salary) ,department_id FROM employees GROUP BY department_id;
②查询①结果上的最低平均工资
SELECT MIN(ag)
FROM (
SELECT AVG(salary) ag,department_id
FROM employees
GROUP BY department_id
) ag_dep;
③查询哪个部门的平均工资=②
SELECT department_id
FROM employees
GROUP BY department_id
HAVING AVG(salary)=(
SELECT MIN(ag)
FROM (
SELECT AVG(salary) ag,department_id
FROM employees
GROUP BY department_id
) ag_dep);
注意:这里SELECT后面只能进行标量子查询,不能查询两列
④接着查询部门信息
SELECT d.*
FROM departments d
WHERE