题目描述
有一个员工表 employees 简况如下:
有一个部门领导表 dept_manager 简况如下:
建表语句如下:
-- employees 表
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`));
-- dept_manager 表
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,上述示例查询输出结果如下:
答案解析
我们可以使用 NOT IN 语句 + 子查询的方式求解
SQL 语句非常简单,就不赘述了,代码如下:
SELECT emp_no FROM
employees
WHERE emp_no NOT IN (SELECT emp_no FROM dept_manager);