【发布时间】:2015-03-03 16:06:21
【问题描述】:
早安,
我正在进行 SQL 学习之旅,并尝试创建一个包含一些查询的小型数据库来获得经验。 使用的两个数据库,Person {id, name, age} 和 Knows {id, guest1_id → Persons, guest2_id → Persons}
查询应生成一个不认识数据库中任何人但可以被其他人认识的人的姓名列表。以下是我目前得到的代码,但它似乎没有获得任何东西。
这里有什么问题?
SELECT distinct K.id
FROM Persons P
LEFT JOIN Knows K
ON K.guest1_id = P.id
AND K.guest2_id = P.id
WHERE K.id NOT IN (
SELECT id
FROM Knows )
谢谢!
【问题讨论】:
-
您只要求
Knows的行,其中:a)guest1是某个人并且 b)guest2是同一个人。这听起来不像你想要的……?我会尽快输入建议的解决方案