sql 多表查询 统计无记录缺考--- 经典面试题

以下题目都在MySQL上测试可行,有疏漏或有更优化的解决方法的话欢迎大家提出,我会持续更新的:)
  1. 有三个表,如果学生缺考,那么在成绩表中就不存在这个学生的这门课程成绩的记录,写一段SQL语句,检索出每个学生缺考的科目。
    A 学生表(student)
    字段1 学生号(s_id)
    字段2 学生名(s_name)

    B 科目表(course)
    字段1 科目号(c_id)
    字段2 科目名(c_name)

    C 成绩表(grade)
    字段1 成绩号(g_id)
    字段2 学生号(s_id)
    字段3 科目号(c_id)
    字段4 成绩(score)

    select * from student join course left join grade on student.s_id=grade.s_id and course.c_id=grade.c_id where grade.score is null;

你可能感兴趣的:(sql 多表查询 统计无记录缺考--- 经典面试题)