Mysql 检索少于或为空的记录

Mysql 检索少于或为空的记录,mysql,Mysql,我有5张表,如下所示: 学生(学号、名、姓、学区号) 章节(章节ID、章节标题) 受试者(受试者ID、受试者标题) 考试(考试ID、考试标题) 学生分数(学生ID、部门ID、科目ID、考试ID分数) 每个学生每门学科应参加4次考试 我想检索在4次考试中没有得分的学生的姓名。 (少于4次考试或无记录) 我有一个疑问: SELECT First_Name,Subject_Title,Section_Title FROM students s left join `Stu_Marks` sm

我有5张表,如下所示:

学生(学号、名、姓、学区号)

章节(章节ID、章节标题)

受试者(受试者ID、受试者标题)

考试(考试ID、考试标题)

学生分数(学生ID、部门ID、科目ID、考试ID分数)

  • 每个学生每门学科应参加4次考试
我想检索在4次考试中没有得分的学生的姓名。 (少于4次考试或无记录)

我有一个疑问:

SELECT   First_Name,Subject_Title,Section_Title
FROM students s left join `Stu_Marks` sm
on sm.Student_ID=s.Student_ID
left join subjects j
on sm.Subject_ID=j.Subject_ID 
left join Sections l
on sm.Section_ID=l.Section_ID 
group by sm.`Student_ID`,sm.Subject_ID
having count(sm.Student_ID)<4
选择第一个名称、主题标题、章节标题
从学生的左边加入'Stu_Marks'sm
关于sm.Student\u ID=s.Student\u ID
左连接主题j
关于sm.Subject\u ID=j.Subject\u ID
左连接部分l
在sm.Section\u ID=l.Section\u ID上
按sm分组。`Student\u ID',sm.Subject\u ID

让count(sm.Student_ID)考虑提供适当的ddl和/或sqlfiddle以及所需的结果集,您必须使用LEFT(或RIGHT)join来实现这一点。表1、表2、表2中带有逗号
的旧联接语法使使用外部联接变得不可能。您必须首先使用新的ANSI SQL语法重写查询:
从表1按条件连接表2按条件连接表2等。
好的,我这样做了。。但仍然没有尊重