• 【sql : 练习题 34,35】成绩有重复的情况下,查询选修「张三」老师所授课程的学生中,成绩最高的学生信息及其成绩


    题目34:成绩有重复的情况下,查询选修「张三」老师所授课程的学生中,成绩最高的学生信息及其成绩

    分析:上一题 33 是在成绩不重复的情况下 查询选修「张三」老师所授课程的学生中,成绩最高的学生信息及其成绩

    这两题有什么区别? 有区别! 33 题成绩不重复,得到的结果就是唯一的,可以直接limit 1 拿出来

    但是:这一题目,成绩有重复,再用limit 1 就会漏

    思路:我们找到 选修「张三」老师所授课程的学生中,成绩最高的分数 max(score) as a

    然后再查询一遍 分数 in(a) 就得到结果了

    SELECT student.*,student_score.score FROM student_course, student_score, teacher,student
    WHERE
    teacher.id = student_course.teacherid
    AND teacher.teacher_name = '张三'
    AND student_course.id = student_score.courseid
    AND student.id = student_score.studentid
    AND student_score.score IN (
    SELECT
    MAX( score )
    FROM
    student_course,
    student_score,
    teacher,
    student
    WHERE
    teacher.id = student_course.teacherid
    AND teacher.teacher_name = '张三'
    AND student_course.id = student_score.courseid
    AND student.id = student_score.studentid
    )

     

    题目35:查询不同课程成绩相同的学生的学生编号、课程编号、学生成绩

    分析:这种情况可以通过两张表join 查找

    select a.courseid, a.studentid, a.score from student_score as a
    inner join
    student_score as b
    on a.studentid = b.studentid
    and a.courseid != b.courseid
    and a.score = b.score;

  • 相关阅读:
    求欧拉回路 UOJ117
    POJ2749 Building road
    POJ3678 Katu Puzzle
    快速修改和上传网站图片技巧
    phpstudy易犯的错误
    关于网站端口的认识
    金融互助后台验证码显示不出来。
    全局搜索数据库
    MySQL命令行导出数据库
    MySQL导入大sql 文件大小限制问题的解决
  • 原文地址:https://www.cnblogs.com/yuanyuan2017/p/11377814.html
Copyright © 2020-2023  润新知