学生成绩管理数据库

图3-20

5) 找出选修了全部课程的学生姓名; 输入sql语句为:

select sname from student where not exists(select * from course where not exists (select * from Grade where sno=student.sno and cno=course.cno))

在下面窗口显示查询结果如下图3-21所示。

图3-21

第 37 页 共 50 页

4. 依据上述的四个表,用SQL语句完成如下查询

1) 查询选修了某课程的学生学号和姓名及成绩,按成绩降序排序; 查询选修了“数据库”课程的学生学号、姓名和成绩,并按成绩降序排列。

输入sql语句为:

select Sname, student.Sno, Gmark from Grade,student where

student.Sno=Grade.Sno and Grade.Cno=(select Cno from course where Cname='数据库') order by DESC

在下面窗口显示查询结果如下图3-22所示。

图3-22

2) 查询全体学生信息,结果按班级号升序,同一个班的学生按年龄降序排序; 输入sql语句为:

select * from student order by Clno,Sage desc 在下面窗口显示查询结果如下图3-23所示。

第 38 页 共 50 页

图3-23

3) 求每门课程及相应的选课人数; 输入sql语句为:

select course.Cname,count(*) as 选课人数 from Grade, course where course.Cno=Grade.Cno group by course.Cname 在下面窗口显示查询结果如下图3-24所示。

第 39 页 共 50 页

图3-24

4) 查询选修了3门(含)以上课程的学生学号; 输入sql语句为:

select s.Sno,s.Sname, count(Grade.Cno) from Student s, Grade where s.Sno=Grade.Sno group by s.Sno,s.Sname having count(Grade.Cno)>=3 在下面窗口显示查询结果如下图3-25所示。

图3-25

第 40 页 共 50 页

联系客服:779662525#qq.com(#替换为@)