您当前的位置: 首页 >  sql

Dream丶Killer

暂无认证

  • 4浏览

    0关注

    188博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

(中等)SQL练习6: 查找所有员工入职时候的薪水情况

Dream丶Killer 发布时间:2021-01-27 22:23:02 ,浏览量:4

SQL练习6: 查找所有员工入职时候的薪水情况
      • 题目描述
      • 考察知识点
      • 解题思路

题目描述

查找所有员工入职时候的薪水情况,给出 emp_no 以及 salary , 并按照 emp_no 进行逆序(请注意,一个员工可能有多次涨薪的情况)

CREATE TABLE `employees` (
`emp_no` int(11) NOT NULL,
`birth_date` date NOT NULL,
`first_name` varchar(14) NOT NULL,
`last_name` varchar(16) NOT NULL,
`gender` char(1) NOT NULL,
`hire_date` date NOT NULL,
PRIMARY KEY (`emp_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`));
考察知识点

内联结,ORDER BY

解题思路

题目要求获取员工的 emp_no 及入职薪水 salary,这时除了要求两个表中的 emp_no 相同外,还需要判断入职日期 hire_date 是否等于工资计算的起始日期 from_date。这点题目中并未点明,最后按照 emp_no 列降序排列即可。

SELECT e.emp_no, salary 
FROM employees AS e INNER JOIN salaries AS s 
ON e.emp_no = s.emp_no and e.hire_date = s.from_date
ORDER BY emp_no DESC

题目来源:牛客网-SQL数据库实战题

✅ 每日打卡,❤ 点个赞再走吧!!!❤ 在这里插入图片描述 后续会继续分享 Mysql 方面的文章,如果感兴趣的话可以点个关注不迷路哦~。

关注
打赏
1655344294
查看更多评论
立即登录/注册

微信扫码登录

0.2724s