案例:查询出哪些员工的薪资在部门平均薪资之上
1、背景:当前数据库有employee表和department表,数据分别如下:
employee表:
department表:
SQL 语句:
1 SELECT tt.*,d.name as department_name
2 FROM
3 (
4 SELECT e.*,t.avgsal
5 from
6 (
7 SELECT departmentid,AVG(salary) as avgsal
8 from employee
9 GROUP BY departmentid ) t
10
11 INNER JOIN
12 employee as e
13 on
14 t.departmentid=e.departmentid
15 WHERE salary > t.avgsal) tt
16 INNER JOIN
17 department as d
18 on
19 tt.departmentid = d.id;
图例解释: