问题描述
使用含有关键字exists查找未分配具体部门的员工的所有信息。
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_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
));
Sql语句
如果外表有n条记录,那么exists查询就是将这n条记录逐条取出,然后判断n遍exists条件
select * from employees where not exists
(select emp_no from dept_emp where emp_no = employees.emp_no)