题目描述
获取所有非manager的员工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`));
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`));
输出示例
emp_no |
---|
10001 |
10003 |
10007 |
10008 |
10009 |
10011 |
解题方案
本题考察的是not in语句和嵌套查询的能力,所以在此可以使用外层employees表,内层使用manager表中所查到的emp_no
select e.emp_no
from employees as e
where e.emp_no not in (
select emp_no
from dept_manager)