描述
有一个员工表employees简况如下:
图片说明

有一个部门领导表dept_manager简况如下:
图片说明

建表语句如下:

CREATE TABLE employees (
emp_no int(11) NOT NULL,
birth_date date NOT NULL,
first_name varchar(14) NOT NULL,
last_name varchar(16) NOT NULL,
gender char(1) NOT NULL,
hire_date date NOT NULL,
PRIMARY KEY (emp_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,以上例子输出:
图片说明

思路:
1.只需要找到employees 的emp_no 不在dept_manager 范围内的员工就行。
SELECT emp_no
FROM employees
WHERE emp_no NOT IN(
SELECT emp_no
FROM dept_manager
);

2.先使用LEFT JOIN连接两张表,再从此表中选出dept_no值为NULL对应的emp_no记录
select e.emp_no from employees as e left join dept_manager as d on e.emp_no = d.emp_no
where d.dept_no is null