一、题目描述
查找各个部门当前(dept_manager.to_date='9999-01-01')领导当前(salaries.to_date='9999-01-01')薪水详情以及其对应部门编号dept_no(请注意输出结果,dept_no列是最后一列)
CREATE TABLE `dept_manager` (
`dept_no` char(4) NOT NULL comment '部门编号',
`emp_no` int(11) NOT NULL comment '员工编号',
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`dept_no`));
CREATE TABLE `salaries` (
`emp_no` int(11) NOT NULLcomment '员工编号',
`salary` int(11) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`from_date`));
二、解题思路
1、需要得到当前(dept_manager.to_date='9999-01-01')领导,当前(salaries.to_date='9999-01-01')薪水,对应部门编号dept_no,输出结果dept_no列是最后一列,说明dept_no所在表dept_manager为附表
2、以salaries为主表,将dept_manager中的dept_no左连到salaries表
select a.*,b.dept_no
from salaries as a
left join dept_manager as b
on a.emp_no=b.emp_no
where a.to_date='9999-01-01' and b.to_date='9999-01-01'
;








暂无数据