现有一个学生选修课程的数据库,其中存放以下三个表:
1)学生(学号,姓名,性别,年龄,系别)
2)课程(课程号,课程名,任课教师)
3)选修(学号,课程号,分数)。问题:(1) 列出李四同学选修的所有课程的名称、分数并且计算所选课程的平均分数。
这题怎么做,avg(分数)提示要group by 问题(2):
左连接如何加条件where,下面左连接加上where不成功,如何加?
select a.姓名,b.课程名,c.分数 from 学生 a
 left join 选修 c
       on a.学号=c.学号
 left join 课程 b
       on c.课程号=b.课程号
go where 学号 in (select 学号 from 学生 where 姓名='李四')
谢谢!明天要考试,请帮帮忙!

解决方案 »

  1.   

    --> 2
    select a.姓名,b.课程名,c.分数 from 学生 a
     left join 选修 c
           on a.学号=c.学号
     left join 课程 b
           on c.课程号=b.课程号
    where a.姓名='李四
      

  2.   

    select b.姓名,c.课程名,a.分数
    from 选修 a ,学生 b,课程 c 
    where a.学号=b.学号 and a.课程号=c.课程号 and b.姓名='李四' 
    compute avg(a.分数)select a.姓名,b.课程名,c.分数 from 学生 a
     left join 选修 c
           on a.学号=c.学号
     left join 课程 b
           on c.课程号=b.课程号
    where a.姓名='李四'