查找各個部門當前(to_date='9999-01-01')領導當前薪水詳情以及其對應部門編號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`)); CREATE TABLE `salaries` ( `emp_no` int(11) NOT NULL, `salary` int(11) NOT NULL, `from_date` date NOT NULL, `to_date` date NOT NULL, PRIMARY KEY (`emp_no`,`from_date`));
解:sql
select s.* ,d.dept_no from salaries as s join dept_manager as d on s.emp_no=d.emp_no where s.to_date = '9999-01-01' and d.to_date='9999-01-01';
這裏的坑主要在於兩個表的邏輯關係,題目要求是薪水狀況以及部門編號,再結合輸出狀況dept_no 被放到了最後一列,可見是主表是「salaries」。這裏順序錯了就會提示:您的代碼沒法經過全部用例。。。code