发现一个看似简单但是很难搞的问题,谁能帮我下,网上答案我搜索到的都是错误的,学生,成绩,老师三张表
   S(s#.sname.age,sex)
   sc(s#,c#.grade)
   c(c#.cname.teacher)
求张老师所授课程的每门课程的平均成绩
查询结果要这样格式
课程名称 平均成绩 网上的答案都是这样的,我查了下结果都是错误的。
select c.cname, avg(grade) from sc,c where sc.c# in (select c# from c where c.teacher='张老师') group by sc.c#

解决方案 »

  1.   

    lz认为网络上的答案都是错误的
    lz不妨写一组正确的数据和答案出来
    让大家按你正确的数据去调试一下...
      

  2.   

    /*学生,成绩,老师三张表 
      S(s#,sname,age,sex) --学生表
      sc(s#,c#,grade) --成绩表
      c(c#,cname,teacher) --教师表
    求张老师所授课程的每门课程的平均成绩 
    查询结果要这样格式 
    课程名称 平均成绩 */select cname 课程名称,avg(isnull(grade,0)) 平均成绩
    from c
      left join sc
        on c.c#=sc.c#
    where teacher='张老师'
    group by cname
      

  3.   

    哥哥,你太牛了,你能告诉我为什么要left join 吗,我马上给分
      

  4.   

    LEFT JOIN 就是左连接,左边的全显示!!!!