开发者社区> 问答> 正文

选择*不存在?mysql

我认为我要沿着这条路走正确的路...请忍受,因为我的SQL并不是最出色的

我试图查询数据库以从一个表中选择所有单元格中某些单元格不存在的所有内容。那没有多大意义,但我希望这段代码会

SELECT * from employees WHERE NOT EXISTS (SELECT name FROM eotm_dyn) 因此,基本上我有一张桌子,上面列出了员工及其详细信息。然后是另一个表,其中包含一些其他详细信息,包括其名称。在eotm_dyn表中没有名称的地方,这意味着它们没有条目,我想确切地知道它们是谁,或者换句话说,确切地知道缺少什么。

上面的查询什么也没有返回,但是我知道缺少20个名字,所以我显然没有正确。

有人可以帮忙吗?

展开
收起
保持可爱mmm 2020-05-17 11:26:12 342 0
1 条回答
写回答
取消 提交回答
  • 您没有在查询中加入表。

    除非原始查询没有任何记录,否则原始查询将始终不返回任何内容eotm_dyn,在这种情况下它将返回所有内容。

    假设这些表应在上联接employeeID,请使用以下命令:

    SELECT * FROM employees e WHERE NOT EXISTS ( SELECT null FROM eotm_dyn d WHERE d.employeeID = e.id ) 您可以使用LEFT JOIN关键字将这些表连接起来并过滤掉的关键字NULL,但这可能会比使用效率低NOT EXISTS。来源:stack overflow

    2020-05-17 11:35:55
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像