SQL25 获取员工其当前的薪水比其manager当前薪水还高的相关信息

描述

有一个,部门关系表dept_emp简况如下:

有一个部门经理表dept_manager简况如下:

有一个薪水表salaries简况如下:

获取员工其当前的薪水比其manager当前薪水还高的相关信息,

第一列给出员工的emp_no,
第二列给出其manager的manager_no,
第三列给出该员工当前的薪水emp_salary,
第四列给该员工对应的manager当前的薪水manager_salary

以上例子输出如下:


 

 

/*题目:
获取员工其当前的薪水比其manager当前薪水还高的相关信息,
第一列给出员工的emp_no,
第二列给出其manager的manager_no,
第三列给出该员工当前的薪水emp_salary,
第四列给该员工对应的manager当前的薪水manager_salary
*/
-- 方法一:子查询
select 
    s.emp_no,
    dm.emp_no,
    s.salary,
    (
         select s1.salary 
         from salaries s1 
         where s1.emp_no = dm.emp_no
    ) as manager_salary
from
    salaries s
left join
    dept_emp de
on
    s.emp_no = de.emp_NO
left join 
    dept_manager dm
on
    de.dept_no = dm.dept_no
where
    s.salary >  
    (
         select s1.salary 
         from salaries s1 
         where s1.emp_no = dm.emp_no
    )
    
-- 方法二:自连接+不等值连接

select 
    s1.emp_no,
    s2.emp_no as manager_no,
    s1.salary as emp_salary,
    s2.salary as manager_salary
from 
    dept_emp de,
    dept_manager dm,
    salaries s1,
    salaries s2
where 
    s1.emp_no = de.emp_no
    and s2.emp_no = dm.emp_no
    and de.dept_no = dm.dept_no
    and s1.salary > s2.salary
    

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值