问题
思路
select s.*, d.dept_no
FROM salaries s, dept_manager d
WHERE s.emp_no = d.emp_no
and s.to_date = '9999-01-01'
and d.to_date = '9999-01-01'
order by emp_no;
/*采用inner join*/
select s.*, d.dept_no
from dept_manager as d inner join salaries as s
on d.emp_no=s.emp_no
where d.to_date='9999-01-01'
and s.to_date='9999-01-01'
order by emp_no;
关于为什么一定要两个表格的时间都限制成规定时间(9999-01-01)呢?
- 因为薪水表是按年发的,而题目要查找的是当前的薪水,所以要过滤掉以前,而dept_manager是因为有领导会离职,to_date时间不一定是9999-01-01,所以要过滤过离职的领导