题解 | #使用含有关键字exists查找未分配具体部门的员工的所有信息。#
使用含有关键字exists查找未分配具体部门的员工的所有信息。
http://www.nowcoder.com/practice/c39cbfbd111a4d92b221acec1c7c1484
本文涉及到一个筛选信息,可以用IN或者EXISTS这两种方式
方法一 IN
SELECT * FROM employees WHERE emp_no NOT IN ( SELECT emp_no FROM dept_emp)
当使用“IN”的时候,只涉及到一个动作
方法二 EXISTS
SELECT * FROM employees WHERE NOT EXISTS( SELECT emp_no FROM dept_emp WHERE employees.emp_no = dept_emp.emp_no )
这的EXISTS方法,涉及两个主动作
第一个动作,“SELECT DATA FROM employees”
第二个动作,重复EXISTS中的动作(如果前面加了一个NOY,就意味着EXISTS中语句选择出的结果除外)
本题中EXISTS的语句意味着——从dept_emp表中选择出emp_no也在employees中的数据
然后得以将不存在于dept_emp中的emp_no从employees中选择出来