您当前的位置: 首页 >  sql

Dream丶Killer

暂无认证

  • 4浏览

    0关注

    188博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

(中等)SQL练习9:获取所有部门当前manager的当前薪水情况

Dream丶Killer 发布时间:2021-01-28 14:21:10 ,浏览量:4

SQL练习9:获取所有部门当前manager的当前薪水情况
      • 题目描述
      • 考察知识点
      • 解题思路

题目描述

获取所有部门当前 (dept_manager.to_date='9999-01-01') manager 的当前 (salaries.to_date='9999-01-01') 薪水情况,给出 dept_noemp_no 以及 salary,输出结果按照 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`));
考察知识点

内联结,ORDER BY

解题思路

查询的结果中要包含dept_noemp_no以及salary。连接两个表时,根据限定条件筛选符合题目要求的数据,最后按照dept_no列升序排列。

SELECT dept_no, d.emp_no, salary
FROM dept_manager AS d INNER JOIN salaries AS s
ON d.emp_no = s.emp_no AND d.to_date = '9999-01-01' AND s.to_date = '9999-01-01'
ORDER BY dept_no;

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

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

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

微信扫码登录

0.3506s