首页 > 解决方案 > 选择注册相同课程但不认识任何人的人

问题描述

我很难找到来自同一门课程的人我有 3 张桌子,, ,people(id, name)在know table 中,如果行中有东西,人 A 认识人B。knows(id,personA_id,personB_id)course(id,person_id,course_id)personB_id

所以我在想:

SELECT p.name FROM people p,knows k
WHERE p.id = k.personA_id 
    AND p.id NOT IN(select k.personB_id from knows)

这会给我一些相关的东西,但我在同一个班级里失踪了。

标签: mysqldatabase

解决方案


那这个呢

SELECT p.name from people p
INNER JOIN course c ON p.id = c.person_id
LEFT JOIN knows k ON p.id = k.personA_id
WHERE k.personB_id IS NULL

如果您有课程 ID(例如 4),您可以添加

AND c.id = 4

推荐阅读