可以使用以下SQL语句来查询有两门不及格成绩的学生:

SELECT *
FROM students s
WHERE EXISTS (
  SELECT *
  FROM scores sc
  WHERE sc.student_id = s.id
  AND sc.score < 60
  GROUP BY sc.student_id
  HAVING COUNT(*) >= 2
);

解释一下这个查询语句:

首先,在主查询中从'students'表中选择所有学生的信息。

然后,在子查询中,我们从'scores'表中选择所有分数低于60分的记录,并按学生ID进行分组。

接下来,使用HAVING子句过滤出有两门或以上不及格成绩的学生。

最后,使用EXISTS语句将主查询和子查询联系起来,只返回符合条件的学生记录。


原文地址: https://www.cveoy.top/t/topic/nzTl 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录