[SQL实战]之获取所有员工当前的manager

版权声明:所有的博客都是个人笔记,交流可以留言。未经允许,谢绝转载。。。 https://blog.csdn.net/qq_35976351/article/details/88723852

题目描述

获取所有员工当前的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));

解题思路

表的连接操作,注意添加限制条件即可

AC代码

SELECT a.emp_no, b.emp_no FROM dept_emp a, dept_manager b WHERE (
    a.dept_no = b.dept_no AND
    a.emp_no != b.emp_no AND
    b.to_date = '9999-01-01'
)

猜你喜欢

转载自blog.csdn.net/qq_35976351/article/details/88723852