我认为我要沿着这条路走正确的路...请忍受,因为我的SQL并不是最出色的
我试图查询数据库以从一个表中选择所有单元格中某些单元格不存在的所有内容。那没有多大意义,但我希望这段代码会
SELECT * from employees WHERE NOT EXISTS (SELECT name FROM eotm_dyn) 因此,基本上我有一张桌子,上面列出了员工及其详细信息。然后是另一个表,其中包含一些其他详细信息,包括其名称。在eotm_dyn表中没有名称的地方,这意味着它们没有条目,我想确切地知道它们是谁,或者换句话说,确切地知道缺少什么。
上面的查询什么也没有返回,但是我知道缺少20个名字,所以我显然没有正确。
有人可以帮忙吗?
您没有在查询中加入表。
除非原始查询没有任何记录,否则原始查询将始终不返回任何内容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
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。