牛客网数据库SQL实战剖析(11-20)
11. 获取所有员工当前的manager 获取所有员工当前的manager,如果当前的manager是自己的话结果不显示,当前表示to_date='9999-01-01'。结果第一列给出当前员工的emp_no,第二列给出其manager对应的manager_no。 CREATE TABLE `dept_emp` ( `emp_no` int(11) NOT NULL, `dept_no` char(4) NOT NULL, `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, `emp_no` int(11) NOT NULL, `from_date` date NOT NULL, `to_date` date NOT NULL, PRIMARY KEY (`emp_no`,`dept_no`) ); 解析:首先要查询员工的领导,只需要 dept_emp 左连接 dept_manager 。此外还有两个条件,当前的manager是自己的话结果不显示,以及 to_date='9999-01-01' ,将其写成 where 子句。 select e