一 学生 – 课程数据库
l 学生表:由学号、姓名、性别、年龄、系科五个属性组成,关系模式为:S(Sno,Sname,Ssex,Sage,Sdept). 其中 Sno 为主码。
l 课程表:由课程号、课程名、先修课程号、学时、学分五个属性组成,关系模式为:C(Cno,Cname,Cpno,Ctime,Ccredit), 其中 Cno 为主码。
l 选修表:有学号、课程号、成绩三个属性组成,关系模式为:SC(Sno,Cno,Grade),其中(Sno,Cno)为主码。
1查询 7号课程没有考试成绩的学生学号
selectsno from sc where cno=’7’ and grade is null
2查询 7号课程成绩在90分以上或60分以下的学生学号
selectsno from sc where sno=’7’ and (grade>90 or grade<60)
3查询课程名以“数据”两个字开头的所有课程的课程号和课程名。
selectcno,cname from c where cname like ‘数据%’
4查询每个学生所有课程的平均成绩,输出学生学号、平均成绩
selectsno,avg(grade) from sc group by cno
5查询每门课程的选修人数,输出课程号、选修人数。
selectcno,count(*) from sc group by cno
6查询选修 7号课程的学生的学号、姓名、性别。
selects.sno,sname,ssex from s,sc where s,sno=sc.sno and cno=’7’
7查询选修7号课程学生的平均年龄。
selectavg(sage) from s,sc where s.sno=sc.sno and cno=’7’
8查询由30名以上学生选修的课程号。
selectcno from sc group by cno having count(*)>30
9查询至今没有考试不及格的学生学号
selectsno from student where not exist(
select * from sc where grade<60 andsc.sno=student.sno)
二 下面查询基于的表同一。
1找出选修课程号为 C2 的学生学号与成绩。
selectsno,garde from sc where cno=’C2 ’
2找出选修课程号为C4 的学生学号与姓名
selects.sno,sname from s,sc where s.sno=sc.sno and cno=’C4’
3找出选修课程名为 Maths 的学生学号与姓名。
selects.sno,sname from s,sc where s.sno=sc.sno and cname=