一些SQL语句不会,基础类,急,谢谢~~~~~~~~
表一:学生情况信息表   XS 
 学号 姓名 专业名   性别   出生时间   总学分   备注 
 主键   
 表二:课程表   KC 
 课程号   课程名   开课学期   学时   学分 
 主键   
 表三 学生与课程表   XS_KC 
 学号   课程号   成绩   学分 
 主键   主键   
 查询操作 
 1、查询所有学生所选修的课程名,要求没有重复的记录。 
 2、显示以课程名分组后的存在最高分的课程名及最高分。 
 3、显示和“李方方”同学同年生的同学的学号,姓名。 
 4、显示男生所选修课程的课程名及平均成绩。 
 5、显示XS_KC表中每位学生的全部课程的平均成绩。 
 创建游标 
       1.创建游标MYCURSOR,查询结果集为所有学生的总学分,并定义变量@score将当前结果读取至@score变量中,用WHILE语句循环,若查找到:。分以一:的记录则删除(在WHERE子句中使角CURRENT   OF游标名,指明是当前游标指针所指向的记录。)若在30至40之间的记录,则增加20分,操作完成后关闭游标并删除。注:CURRENT   OF关键字使用时游标定义中不出现READ-ONLY或FAST   FORWARD。     
 一定要用SQL语句来实现,谢谢
------解决方案--------------------又見考試題
------解决方案--------------------1.select a.学号,b.课程名 from table3 a,table2 b where a.课程号=b.课程号 
 2.select 课程名,max(成绩) as 成绩 from table3 a,table2 b where a.课程号=b.课程号 group by 课程名 
 3.select 学号,姓名 from table1 where year(出生时间) in(select year(出生时间) from table1 where name= '李方方 ' 
------解决方案--------------------1、查询所有学生所选修的课程名,要求没有重复的记录。 
 select DISTINCT a.学号,b.课程名 from KC a,XS_KC 
 b where a.课程号=b.课程号 
 2、SELECT a.课程号,a.课程名,MAX(b.成绩) 最高分 
 FROM KC a,XS_KC b where a.课程号=b.课程号 GROUP BY a.课程号,a.课程名   
 3、SELECT 学号,姓名 FROM XS 
 WHERE 姓名 <>  '李方方 ' AND 出生时间 IN (SELECT 出生时间 FROM XS WHERE 姓名= '李方方 ' )