我正在使用Spring + Hibernate技术和新手来构建Web服务, HQL / MySQL查询。
我面临一个充满挑战的场景
在student_college
表中,学生1、2、3和4 正在学院1 和学生5、6、7和8中学习正在第二大学
此外,在friend_detail
表中,学院1中的学生4和学院2中的学生8在同一学院中没有任何朋友。
我想获取学生4和学生8作为列表,他们将被视为可疑人员,因为同一所大学中的其他人在同一所大学中至少有一个朋友
我确信可以通过for
循环来实现,但是当数据库达到10万用户时,多次访问数据库以获取单一结果集是不可行的,但是不知道如何启动即使在谷歌搜索很多之后也要为此编写查询。
答案 0 :(得分:1)
据我所知,您需要编写一个NOT EXISTS
查询来检查在friend_detail
桌上没有朋友关系的学生。
我认为这可以解决问题;
select * from student_college sc
where not exists (
select 1 from friend_detail fd where fd.friend1 = sc.student or fd.friend2 =
sc.student
)