问题描述
获取所有员工当前的(dept_manager.to_date=‘9999-01-01’)manager,如果员工是manager的话不显示(也就是如果当前的manager是自己的话结果不显示)。输出结果第一列给出当前员工的emp_no,第二列给出其manager对应的emp_no。
CREATE TABLE dept_emp
(
emp_no
int(11) NOT NULL comment ‘所有的员工编号’,
dept_no
char(4) NOT NULL comment ‘部门编号’,
from_date
date NOT NULL,
to_date
date NOT NULL,
PRIMARY KEY (emp_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
));
Sql语句
薪水有多个,找最初的哪个
select a.emp_no, b.emp_no
from dept_emp as a left join dept_manager as b
on a.dept_no = b.dept_no
where b.to_date = '9999-01-01'
and a.emp_no <> b.emp_no;