0
点赞
收藏
分享

微信扫一扫

数据库原理与应用慕课测验易错题

幸甚至哉歌以咏志 2022-04-05 阅读 38
大数据

单选(1分)

如下几个表所示学生、课程和选课关系,用SQL语言实现下列操作。

试列出计算机系所开课程(CS标志)的最高成绩、最低成绩和平均成绩。如果某门课程的成绩不全(即“成绩”中有NULL出现),则该课程不予统计,结果按“课程号”升序排列。正确的SQL语句是_____。

  • A.

    SELECT 课程号,MAX(成绩),MIN(成绩),AVG(成绩) FROM 选课

    WHERE 课程号 Like ‘CS%’ GROUP BY 课程号 HAVING 课程号 NOT IN

    (SELECT 课程号 FROM 选课 WHERE 成绩 IS  NULL)

    ORDER  BY  课程号;

  • B.

    SELECT 课程号,MAX(成绩),MIN(成绩),AVG(成绩) FROM 选课

    WHERE  课程号 Like ‘CS%’ GROUP BY  课程号                  

    HAVING 课程号 NOT IN (SELECT 课程号 FROM  选课 WHERE 成绩 IS NULL)

  • C.

    SELECT 课程号,MAX(成绩),MIN(成绩),AVG(成绩) FROM 选课

    WHERE 课程号 Like ‘CS%’ GROUP BY 课程号

    HAVING 课程号 IN (SELECT 课程号 FROM  选课 WHERE 成绩 IS  NULL)

    ORDER BY  课程号;

  • D.

    SELECT MAX(成绩),MIN(成绩),AVG(成绩) FROM 选课

    WHERE 课程号= ‘CS%’ GROUP BY 课程号                  

    HAVING 课程号 NOT IN (SELECT 课程号 FROM 选课 WHERE 成绩 IS NULL)

    ORDER BY  课程号;

  • 答案:A

     A.题目要显示最高成绩,最低成绩和平均成绩,分别是MAX(成绩),MIN(成绩),AVG(成绩);要排除没有成绩的学生,先选出成绩为NULL的,为“SELECT  课程号 FROM   选课 WHERE  成绩 IS  NULL”,所以排除没有成绩的即是NOT  IN,由于是选出课程名中包括CS标志的,所以WHERE应该是:课程号 LIKE ‘CS%’;按照课程号排序,Order by课程号,默认是升序,注意GROUP  By 和 HAVING是连起来用的,综上此选项正确。

      B.此选项不正确,缺少排序子句。

      C.此选项不正确,应该是NOT IN。

      D.此选项不正确,模糊查询不能用=。

     
举报

相关推荐

0 条评论