1. 程式人生 > >資料庫SQL實戰 —— 獲取所有員工當前的manager

資料庫SQL實戰 —— 獲取所有員工當前的manager

時間限制:1秒 空間限制:32768K

題目描述

獲取所有員工當前的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`));

輸入描述:

輸出描述:

emp_no manager_no
10001 10002
10003 10004
10009 10010

輸入

輸出

我的程式碼

執行時間:19ms    佔用記憶體:3408k

SELECT dept_emp.emp_no, dept_manager.emp_no AS manager_no
FROM dept_emp, dept_manager
WHERE DATE(dept_manager.to_date) = '9999-01-01'
    AND dept_emp.dept_no = dept_manager.dept_no
    AND dept_emp.emp_no != dept_manager.emp_no;