- ~
題目描述
使用含有關鍵字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
));spa
本題用 EXISTS 關鍵字的方法以下:意爲在 employees 中挑選出令(SELECT emp_no FROM dept_emp WHERE emp_no = employees.emp_no)不成立的記錄,即當 employees.emp_no=10011時。反之,把NOT去掉,則輸出 employees.emp_no=10001~10010時的記錄。 SELECT * FROM employees WHERE NOT EXISTS (SELECT emp_no FROM dept_emp WHERE emp_no = employees.emp_no) 因爲OJ系統沒有對 EXISTS 關鍵字做檢測,所以還能用 NOT IN 關鍵字替換,即在employees中選出dept_emp中沒有的emp_no。 SELECT * FROM employees WHERE emp_no NOT IN (SELECT emp_no FROM dept_emp)