题目描述
有一个,部门关系表 dept_emp 简况如下:

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

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

获取员工其当前的薪水比其 manager 当前薪水还高的相关信息,
第一列给出员工的 emp_no ,
第二列给出其 manager 的 manager_no ,
第三列给出该员工当前的薪水 emp_salary ,
第四列给该员工对应的 manager 当前的薪水 manager_salary
以上例子输出如下:

考察知识点
内联结。
解题思路
根据题目的要求,我们可以先获得两张表,员工薪水表,manager薪水表,再将这两张表连接起来,筛选在部门相同的情况下,员工的工资大于manager的数据。
SELECT de.emp_no, dm.emp_no manager_no, es.salary emp_salary, ms.salary manager_salary
FROM (dept_emp AS de INNER JOIN salaries AS es
ON de.emp_no = es.emp_no)
,
(dept_manager AS dm INNER JOIN salaries AS ms
ON dm.emp_no = ms.emp_no)
WHERE de.dept_no = dm.dept_no AND es.salary > ms.salary
题目来源:牛客网-SQL数据库实战题
✅ 每日打卡,❤ 点个赞再走吧!!!❤
后续会继续分享 Mysql 方面的文章,如果感兴趣的话可以点个关注不迷路哦~。
本文通过一个具体的SQL实战案例,演示了如何查询那些薪水高于自己直接上级(经理)的员工信息。案例中详细解释了如何使用内联结来关联部门员工表、部门经理表及薪水表,从而筛选出符合条件的记录。


被折叠的 条评论
为什么被折叠?



