《数据库SQL实战》获取所有非manager的员工emp_no

题目:获取所有非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));

输入描述:

输出描述:

《数据库SQL实战》获取所有非manager的员工emp_no_第1张图片

解析:即employees 里的emp_no不在dept_manager 出现非manager了,关键使用not in

select a.emp_no
from employees a
where a.emp_no not in (select b.emp_no from  dept_manager b)

你可能感兴趣的:(《数据库SQL实战》)