题解 | #使用含有关键字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中选择出来

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务