我想检索未在 PostgreSQL 中从事某个项目的人员的姓名。
我有一个名为 employees
的表,其中包含他们的 names
和 ssn
。
我的第二个表称为 works_on
,包括 ssn
和 project_number
ssn
这是来自 employees
外键
现在我尝试了以下方法:
SELECT fname,lname
FROM werknemer w
JOIN werkt_aan wa
ON (wa.ssn = w.ssn)
WHERE wa.ssn <> w.ssn
但这不会返回任何内容,但我需要 1 个不在单个项目上工作的名称。 有人可以向我解释该怎么做吗?提前致谢。
最佳答案
这通常使用 NOT EXISTS
查询来解决:
select e.*
from employees e
where not exists (select *
from works_on wo
where wo.ssn = e.ssn)
关于SQL 获取未在项目中工作的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49296650/