我正在使用 Spring + Hibernate 技术构建 Web 服务,并且是新手 HQL/MySQL 查询。
我面临着一个具有挑战性的场景
在student_college
表中,学生1、2、3和4在学院1学习,学生5,6, 7和8正在学院2学习
此外,在 friend_detail
表中,学院 1 的学生 4 和学院 2 的学生 8 在同一学院没有任何 friend 。
我想获取学生 4 和学生 8 作为列表,他们将被视为可疑人员,因为同一学院的其他人至少有一个 friend 在同一学院
我确信它可以通过 for
循环实现,但是当数据库达到超过 100k 用户时,多次访问数据库以获得一组结果是不可行的,但不知道即使在谷歌搜索了很多之后,如何开始编写查询。
最佳答案
据我所知,您需要编写一个 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
)
关于mysql - 陷入在 Hibernate 中编写 HQL/MySQL 查询的困境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52676393/