select
de.dept_no,
de.emp_no,
sa.salary
from dept_emp de
join salaries sa
on de.emp_no=sa.emp_no
where de.to_date='9999-01-01'
and de.emp_no not in
(select
emp_no
from dept_manager
de.dept_no,
de.emp_no,
sa.salary
from dept_emp de
join salaries sa
on de.emp_no=sa.emp_no
where de.to_date='9999-01-01'
and de.emp_no not in
(select
emp_no
from dept_manager
where to_date='9999-01-01')
本题知识点:
1、表连接找准连接键,注意部门经理表的emp_no不是全部员工的编号,因此考虑dept_emp、salaries两表连接,employees表没有目标内容直接忽略;
2、注意筛选的是在职员工de.to_date='9999-01-01' 表示未离职;
3、在de.emp_no里,用not in + 一整列的数值,筛选剔除掉部门经理表的emp_no;
4、from...join...on...and...后面的and最好用where...and...来代替,本质上都是筛选。