克莱普顿发热丝是什么:sql多表查询问题!

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/03 23:49:59
有成绩表T_Score(Stu_id和Lession_id为联合主键)
缺考情况不录入,例如B001的L002课程缺考。

Stu_id(学生号) Lession_id(课程) Score(成绩)
A001 L001 90
A001 L002 80
A002 L001 70
A002 L002 60
B001 L001 50
B002 L001 85
…… …… ……

学生档案T_Stu_Profile(Stu_id为主键)
包含所有学生信息

Stu_id(学生号) Stu_name(姓名) Class_id(班级)
A001 张三 06101
A002 李四 06101
B001 王五 06102
…… …… ……

课程信息表T_Lession(Lession_id为主键)
包含所有课程信息

Lession_id(课程号) Lession_des(课程)
L001 语文
L002 数学
L003 英语
L004 物理
L005 化学

1:找出缺考的学生名单,输出如下格式:

Class_id(班级) Stu_name(姓名) Lession_des(课程)
B001 王五 数学
…… …… ……
要求:不可以使用游标

2:输出06101班的学生成绩单,格式如下:

姓名 语文 数学 英语 物理 化学 总分
……
要求:不可以使用游标

3:找出五门课程中的年级前三名,输出如下格式:(假设前三名不出现并列的情况)

Lession_des(课程) 第一名 第二名 第三名
语文
数学
英语
物理
化学 …… ……

一。

select Class_id,stu_name,lession_des from (T_stu_profile,T_lession) left join T_score on (T_stu_profile.stu_id = T_score.stu_id and T_lession.lession_id = T_score.lession_id) where score is null;

二。

select stu_name, (select score from T_score as ts where ts.stu_id = tsp.stu_id and ts.lession_id = "L001") as yuwen, (select score from T_score as ts where ts.stu_id = tsp.stu_id and ts.lession_id = "L002") as shuxue,(select sum(score) from T_score as ts where ts.stu_id = tsp.stu_id) as zongfen from T_stu_Profile as tsp where Class_id ='06101';

三。

1,select tsp.Class_id,tsp.Stu_name,tl.Lession_des from T_Score as ts ,T_Stu_Profile as tsp,T_Lession as tl where ts.Stu_id=tsp.Stu_id and ts.Lession_id=tl.Lession_id
问题2,3正在做。