首页 > 数据库 > mysql教程 > 如何使用'SELECT * WHERE NOT EXISTS”正确检索丢失的数据?

如何使用'SELECT * WHERE NOT EXISTS”正确检索丢失的数据?

Patricia Arquette
发布: 2024-11-26 15:34:10
原创
797 人浏览过

How to Correctly Retrieve Missing Data Using `SELECT * WHERE NOT EXISTS`?

使用“SELECT * WHERE NOT EXISTS”检索丢失的数据

问题:

到从表中检索数据,其中某些单元格不存在于另一个表中,用户实现了以下操作查询:

SELECT * from employees WHERE NOT EXISTS (SELECT name FROM eotm_dyn)
登录后复制

但是,尽管已知缺失数据,此查询不会返回任何结果。

解决方案:

要解决此问题,它需要根据公共键(例如employeeID)连接两个表。如果第二个表包含任何数据,则在没有连接的情况下使用 NOT EXISTS 将始终不会产生任何结果。

正确的查询(假设雇员 ID 是连接键)是:

SELECT  *
FROM    employees e
WHERE   NOT EXISTS
        (
        SELECT  null 
        FROM    eotm_dyn d
        WHERE   d.employeeID = e.id
        )
登录后复制

或者,a效率较低的方法是使用 LEFT JOIN 并过滤掉 NULL 值。

以上是如何使用'SELECT * WHERE NOT EXISTS”正确检索丢失的数据?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板