陷入在Hibernate中编写HQL/MySQL查询的困境
我正在使用Spring+Hibernate技术和新手来构建Web服务 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万用户以上时,为了得到一
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
)