mysql - 选择注册相同课程但不认识任何人的人
问题描述
我很难找到来自同一门课程的人我有 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)
这会给我一些相关的东西,但我在同一个班级里失踪了。
解决方案
那这个呢
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
推荐阅读
- python - 如何限制输入python的字符类型
- python - 如何用逗号对包含一组字符串的列表进行切片?
- ios - 为 UIStackView 中的视图添加大小约束
- python-3.x - 我的 while 循环中嵌套了一个 for 循环,是什么导致我的代码中出现无限循环?
- python - 使用 Pandas 的两列获取行数
- php - Post an HTML Input with datetime Value to MySQL Database
- c# - 实现工具提示的抽象方法
- javascript - javascript“中断”会完全停止递归函数还是仅仅停止那个实例?
- docker - 非 root 用户的 docker 机密
- background - Ionic 3 - 当我们最小化应用程序时显示锁定屏幕