题库来源网络以及社区群友分享,如有侵权,告知删之!
数据库表事先建好,下图所示,如需脚本请联系下文小编!
案例:写一个查询,计算市场部与工程部员工最高薪资的差额,输出结果为薪资值差异(Mysql 为例)



示例一:
1SELECT
2 abs(
3 SUM( t.s1 ) - SUM( t.s2 )
4 ) AS 薪差
5FROM
6 (
7 SELECT
8 CASE
9 d.department
10 WHEN '市场部' THEN
11 MAX( e.salary ) ELSE 0
12 END AS s1,
13 CASE
14 d.department
15 WHEN '工程部' THEN
16 MAX( e.salary ) ELSE 0
17 END AS s2
18 FROM
19 db_employee e
20 INNER JOIN db_dept d ON e.department_id = d.id
21 GROUP BY
22 e.department_id
23 ) t
示例二:
1select abs(sum(m)) as 薪差
2from (
3select max(salary) m from db_employee where department_id=4
4union
5select -max(salary) m from db_employee where department_id=1) as t
PS:
写法多样,以上仅以Mysql为例简单实现。


