首页 >数据库 >mysql教程 >如何使用 SQL 的 NOT EXISTS 运算符查找失踪员工?

如何使用 SQL 的 NOT EXISTS 运算符查找失踪员工?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-29 09:10:15419浏览

How Can I Find Missing Employees Using SQL's NOT EXISTS Operator?

使用“SELECT * WHERE NOT EXISTS”识别失踪员工

当前的任务涉及从一张表(员工)中识别其姓名的员工不会出现在另一个表(eotm_dyn)中。目标是检索 eotm_dyn 表中缺勤的员工列表。

使用“NOT EXISTS”运算符

使用“NOT EXISTS”运算符在提供的查询中确定员工表中的记录是否缺少 eotm_dyn 表中的相应条目。语法如下:

SELECT *
FROM employees
WHERE NOT EXISTS (
    SELECT name
    FROM eotm_dyn
    WHERE employees.id = eotm_dyn.employeeID
)

解决错误

由于关键的遗漏,原始查询没有返回任何结果:员工之间缺少联接和 eotm_dyn 表。为了解决这个问题,必须指定连接条件。最简单的选择是在公共字段上连接表,该字段似乎是employeeID。

更正的查询

合并连接条件,更正的查询将变为:

SELECT *
FROM employees e
WHERE NOT EXISTS (
    SELECT NULL
    FROM eotm_dyn d
    WHERE d.employeeID = e.id
)

此查询将返回雇员表中缺少 eotm_dyn 表的所有雇员,完成了最初寻找失踪员工的任务。

以上是如何使用 SQL 的 NOT EXISTS 运算符查找失踪员工?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn