with a as(
    select d.emp_no as emp_no,d.dept_no as dept_no,
    s.salary as salary
    from dept_emp d join salaries s using(emp_no)),
    b as(
    select m.dept_no as dept_no,m.emp_no as emp_no,
    s.salary as salary
    from dept_manager m join salaries s using(emp_no))
select a.emp_no as emp_no,b.emp_no as manager_no,
a.salary as emp_salary,b.salary as manager_salary
from a join b using(dept_no)
where a.salary>b.salary

思路分享:

1、创建一个员工薪资表:

部门关系表dept_emp 和 薪水表salaries 连接:

一个员工薪资表:员工编号、部门编号、员工薪水

2、创建一个经理薪资表:

部门经理表dept_manager 和 薪水表salaries 连接:

一个经理薪资表:经理编号、部门编号、经理薪水

3、以上两个表连接:

员工薪水表 和 经理薪水表 通过“部门”连接:

——筛选出“员工薪资>经理薪资”的数据