两个表:一个表(学生表)stu: 含有 sno,sname (即,学号和名字)
        第二表(成绩表)sc:  含有 sno,cno,grade(即,学号,课程号,成绩)
查询出每个学生  成绩大于自己所选所有课程的平均成绩   的课程。
所有的课程必须都输出,输出结果必须是每列都有学生的学号,名字,课程号,成绩。

解决方案 »

  1.   

     sc  sno,cno,grade
    stu:  sno,sname (
    select   a.sno,sname,cno,grade from   SC   a   join   stu b   on   a.SNO=b.SNO   where   GRADE>=(   
      select   avg(GRADE)   GRADE   from   SC   group   by   CNO   having   a.CNO=CNO)   
      

  2.   

    看看来
    >>>>>>>>>>------------------------------------------------------------------------------------------<<<<<<<<<<
      

  3.   

    select  a.sno,sname,cno,grade from  SC  a  join  stu b  on  a.SNO=b.SNO  where  GRADE >=( select  avg(GRADE)  GRADE  from  SC  group  by  CNO  having  a.CNO=CNO)  这帖子结过了,但是当时没好好看,现在看不懂了,里层的嵌套 select avg(GRADE)后面怎么还紧跟着一个 GRADE?还有最后那个having我感觉没必要啊?谁再来说下?