陷入在Hibernate中编写HQL/MySQL查询的困境

陷入在Hibernate中编写HQL/MySQL查询的困境,mysql,spring,hibernate,spring-boot,hql,Mysql,Spring,Hibernate,Spring Boot,Hql,我正在使用Spring+Hibernate技术和新手来构建Web服务 HQL/MySQL查询 我面临着一个具有挑战性的情景 在student_college表中,学生1、2、3和4在学院1学习,学生5、6、7和8在学院2学习 此外,在friend\u detail表中,学院1的学生4和学院2的学生8在同一学院没有任何朋友 我想把4号和8号学生列为名单,他们将被视为可疑人物,因为同一学院的其他人在同一学院至少有一个朋友 我确信它可以通过for循环来实现,但当数据库达到10万用户以上时,为了得到一

我正在使用Spring+Hibernate技术和新手来构建Web服务 HQL/MySQL查询

我面临着一个具有挑战性的情景

student_college
表中,学生1、2、3和4在学院1学习,学生5、6、7和8在学院2学习

此外,在
friend\u detail
表中,学院1的学生4和学院2的学生8在同一学院没有任何朋友

我想把4号和8号学生列为名单,他们将被视为可疑人物,因为同一学院的其他人在同一学院至少有一个朋友


我确信它可以通过
for
循环来实现,但当数据库达到10万用户以上时,为了得到一组结果而多次访问数据库是不可行的,但即使在谷歌搜索了很多次之后,也不知道如何开始向数据库写入查询。

据我所见,您需要编写一个
notexists
查询,以检查
friend\u 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
)