大数跨境
0
0

【每日一SQL】求某两个部门员工的最高薪资差

【每日一SQL】求某两个部门员工的最高薪资差 元讯趣编程
2022-01-03
2
导读:每日SQL复习:求某两个部门员工的最高薪资差
  • 题库来源网络以及社区群友分享,如有侵权,告知删之!

  • 数据库表事先建好,下图所示,如需脚本请联系下文小编!



案例:写一个查询,计算市场部与工程部员工最高薪资的差额,输出结果为薪资值差异(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=1as t


PS:

写法多样,以上仅以Mysql为例简单实现。



【声明】内容源于网络
0
0
元讯趣编程
学习编程从入门到精通
内容 51
粉丝 0
元讯趣编程 学习编程从入门到精通
总阅读59
粉丝0
内容51