mysql一个表记录了每个学生的各科成绩,每科成绩为一条记录,字段有学生id、科目ID、科目成绩,怎么查询没有某科成绩记录的所有学生?
时间: 2024-03-27 21:39:27 浏览: 38
可以使用左连接查询,以学生表为主表,左连接成绩表,然后筛选出成绩表中该科目成绩为null的记录,最后通过学生id分组即可得到没有该科目成绩记录的所有学生。具体的SQL语句如下:
```
SELECT s.id, s.name
FROM student s
LEFT JOIN score sc ON s.id = sc.student_id AND sc.subject_id = '某科目ID'
WHERE sc.score IS NULL
GROUP BY s.id, s.name;
```
其中'subject_id'需要替换成具体的科目ID。
阅读全文