Sweet-kai 2016-06-22 02:56 采纳率: 33.3%
浏览 2378
已采纳

sql高难度笔试题,4个表,一条查询语句

今天笔试最后 一道sql问题

班级表A:字段(班级名称、班级)
学生表B:字段(学号、姓名)
课程表C:字段(课程号、课程名)
选课表D:字段(学号、课程号、成绩)
问题:用一条查询语句查询 "一班"比"二班"法语平均成绩高的学生信息

  • 写回答

3条回答 默认 最新

  • 中国风 博客专家认证 2016-06-22 03:12
    关注

    学生表B 少了"班级"栏位

    SELECT b.*
    FROM A
    INNER JOIN B ON A.班级 = B.班级
    INNER JOIN D ON D.学号 = B.学号
    INNER JOIN ( SELECT D.课程号 ,
    AVG(D.成绩) AS 成绩
    FROM A
    INNER JOIN B ON A.班级 = B.班级
    INNER JOIN D ON D.学号 = B.学号
    INNER JOIN C ON C.课程号 = D.课程号
    WHERE A.班级名称 = '二班'
    AND C.课程名 = '法语'
    ) AS C ON C.课程号 = D.课程号 AND c.成绩<d.成绩
    WHERE A.班级名称 = '二'
    ;

    ;

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥50 汇编语言除法溢出问题
  • ¥65 C++实现删除N个数据列表共有的元素
  • ¥15 Visual Studio问题
  • ¥15 state显示变量是字符串形式,但是仍然红色,无法引用,并显示类型不匹配
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗