使用“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中文网其他相关文章!