[编程题]获取员工其当前的薪水比其manager当前薪水还高的相关信息 牛客网练习

编程入门 行业动态 更新时间:2024-10-12 05:44:09

[编程题]获取员工其当前的<a href=https://www.elefans.com/category/jswz/34/1751970.html style=薪水比其manager当前薪水还高的相关信息 牛客网练习"/>

[编程题]获取员工其当前的薪水比其manager当前薪水还高的相关信息 牛客网练习

链接:=8121443
来源:牛客网
 

[编程题]获取员工其当前的薪水比其manager当前薪水还高的相关信息

  • 热度指数:120259 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解

获取员工其当前的薪水比其manager当前薪水还高的相关信息,当前表示to_date='9999-01-01',
结果第一列给出员工的emp_no,
第二列给出其manager的manager_no,
第三列给出该员工当前的薪水emp_salary,
第四列给该员工对应的manager当前的薪水manager_salary
CREATE TABLE `dept_emp` (
`emp_no` int(11) NOT NULL,
`dept_no` char(4) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`dept_no`));
CREATE TABLE `dept_manager` (
`dept_no` char(4) NOT NULL,
`emp_no` int(11) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`dept_no`));
CREATE TABLE `salaries` (
`emp_no` int(11) NOT NULL,
`salary` int(11) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`from_date`));

 

输入描述:


 

输出描述:

 
emp_nomanager_noemp_salarymanager_salary
10001100028895872527
10009100109540994409

示例1

输入

输出

 

 

SELECTde.emp_no AS emp_no,dm.emp_no AS manager_no,de.salary AS emp_salary,dm.salary AS manager_salary 
FROM(SELECTde.emp_no,s.salary,de.dept_no FROMdept_emp AS deLEFT JOIN salaries AS s ON de.emp_no = s.emp_no WHEREs.to_date = '9999-01-01' ) AS deINNER JOIN (SELECTdm.emp_no,s.salary,dm.dept_no FROMdept_manager AS dmLEFT JOIN salaries AS s ON dm.emp_no = s.emp_no WHEREs.to_date = '9999-01-01' ) AS dm on de.dept_no = dm.dept_no 
WHEREAND de.salary > dm.salary

 

首先,我们应该发现控制to_date的是工资表而不是员工表。然后只需要使用join即可。

 

更多推荐

[编程题]获取员工其当前的薪水比其manager当前薪水还高的相关信息 牛客网练习

本文发布于:2024-03-07 09:22:37,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1717439.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:薪水   相关信息   还高   员工   比其

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!