最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

学生选课数据库SQL语句练习题

来源:动视网 责编:小OO 时间:2025-09-25 17:57:01
文档

学生选课数据库SQL语句练习题

一、设有一数据库,包括四个表:学生表(Student)、课程表(Course)、成绩表(Score)以及教师信息表(Teacher)。四个表的结构分别如表1-1的表(一)~表(四)所示,数据如表1-2的表(一)~表(四)所示。用SQL语句创建四个表并完成相关题目。表1-1数据库的表结构表(一)Student属性名数据类型可否为空含义SnoChar(3)否学号(主码)SnameChar(8)否学生姓名SsexChar(2)否学生性别Sbirthdaydatetime可学生出生年月ClassCha
推荐度:
导读一、设有一数据库,包括四个表:学生表(Student)、课程表(Course)、成绩表(Score)以及教师信息表(Teacher)。四个表的结构分别如表1-1的表(一)~表(四)所示,数据如表1-2的表(一)~表(四)所示。用SQL语句创建四个表并完成相关题目。表1-1数据库的表结构表(一)Student属性名数据类型可否为空含义SnoChar(3)否学号(主码)SnameChar(8)否学生姓名SsexChar(2)否学生性别Sbirthdaydatetime可学生出生年月ClassCha
一、设有一数据库,包括四个表:学生表(Student)、课程表(Course)、成绩表(Score)以及教师信息表(Teacher)。四个表的结构分别如表1-1的表(一)~表(四)所示,数据如表1-2的表(一)~表(四)所示。用SQL语句创建四个表并完成相关题目。

表1-1数据库的表结构 

表(一)Student                          

属性名数据类型可否为空含 义

SnoChar(3)学号(主码)
SnameChar(8)学生姓名
SsexChar(2)学生性别
Sbirthdaydatetime学生出生年月
ClassChar(5)学生所在班级
表(二)Course

属性名数据类型可否为空含 义

CnoChar(5)课程号(主码)
CnameVarchar(10)课程名称
TnoChar(3)教工编号(外码)
表(三)Score

属性名数据类型可否为空含 义

SnoChar(3)学号(外码)
CnoChar(5)课程号(外码)
DegreeDecimal(4,1)成绩
主码:Sno+ Cno

表(四)Teacher

属性名数据类型可否为空含 义

TnoChar(3)教工编号(主码)
TnameChar(4)教工姓名
TsexChar(2)教工性别
Tbirthdaydatetime教工出生年月
ProfChar(6)职称
DepartVarchar(10)教工所在部门
表1-2数据库中的数据

表(一)Student

SnoSnameSsexSbirthdayclass
108曾华1977-09-0195033
105匡明1975-10-0295031
107王丽1976-01-2395033
101李军1976-02-2095033
109王芳1975-02-1095031
103陆君

1974-06-0395031
  

表(二)Course

CnoCnameTno
3-105计算机导论825
3-245操作系统804
6-166数字电路856
9-888高等数学831
表(三)Score

SnoCnoDegree
1033-24586
1053-24575
1093-24568
1033-10592
1053-10588
1093-10576
1013-105
1073-10591
1083-10578
1016-16685
1076-16679
1086-16681
表(四)Teacher

TnoTnameTsexTbirthdayProfDepart
804李诚1958-12-02副教授计算机系
856张旭1969-03-12讲师电子工程系
825王萍1972-05-05助教计算机系
831刘冰1977-08-14助教电子工程系
1、查询Student表中的所有记录的Sname、Ssex和Class列。

select sname,ssex,class from student;

2、查询教师所有的单位即不重复的Depart列。

select  distinct  Depart  from teacher

3、查询Student表的所有记录。

select * from student

4、查询Score表中成绩在60到80之间的所有记录。

select * from score where degree between 60 and 80;

5、查询Score表中成绩为85,86或88的记录。

select * from score where degree in (85,86,88)

select * from score where degree = 85 or degree = 86 or degree = 88

    

6、查询Student表中“95031”班或性别为“女”的同学记录。

select * from student where class=’95031’ or ssex=’女’

7、以Class降序查询Student表的所有记录。

select * from student order by class desc

8、以Cno升序、Degree降序查询Score表的所有记录。

select * from score order by cno asc, degree desc

9、查询“95031”班的学生人数。

select count(*)  from student where class = ‘95031’ 

10、查询Score表中的最高分的学生学号和课程号。(子查询或者排序)

select sno,cno from score where degree=(select max(degree) from score)

11、查询‘3-105’号课程的平均分。

select avg(degree) from score where cno=’3-105’;

12、查询Score表中至少有5名学生选修的并以3开头的课程的平均分数。

select  x.cno ,avg(x.degree) from score x 

 where cno like ‘3%’ and 5<

(select count (*) from  score y where  x.cno = y.cno) 

group by x.cno

13、查询最低分大于70,最高分小于90的Sno列。

select x.sno from score x where 70 < (select min(y.degree) from score y where x.sno=y.sno)

and 90>(select max(z.degree) from score z where x.sno=z.sno);

14、查询所有学生的Sname、Cno和Degree列。

select sname, cno, degree from student,score where student.sno = score.sno;

15、查询所有学生的Sno、Cname和Degree列。

select sno,cname,degree  from score ,course where score.cno=course.cno;

16、查询所有学生的Sname、Cname和Degree列。

select sname, cname,degree from student, score,course where student.sno=score.sno and score.cno=course.cno;

17、查询“95033”班所选课程的平均分。

select avg(degree) from student, score where 

student.sno=score.sno and class=’95033’;

select avg(degree) from score where sno in 

(select sno from student where class=’95033’);

18、假设使用如下命令建立了一个grade表:

create table grade(low  int(3),upp  int(3),rank  char(1))

insert into grade values(90,100,’A’)

insert into grade values(80,,’B’)

insert into grade values(70,79,’C’)

insert into grade values(60,69,’D’)

insert into grade values(0,59,’E’)

现查询所有同学的Sno、Cno和rank列。

18、查询选修“3-105”课程的成绩高于“109”号同学成绩的所有同学的记录。

select  * from score where cno=’3-105’ and degree>(select degree from score where sno=’109’ and cno = ‘3-105’) 

19、查询score中选学多门课程的同学中分数为非最高分成绩的记录。

select x.* from score x where degree<(select max(y.degree) from score y where y.sno=x.sno)

20、查询成绩高于学号为“109”、课程号为“3-105”的成绩的所有记录。

select * from score where degree > (select degree from score where sno=’109’ and cno=’3-105’);

22、查询和学号为108的同学同年出生的所有学生的Sno、Sname和Sbirthday列。

23、查询“张旭“教师任课的学生成绩。

24、查询选修某课程的同学人数多于5人的教师姓名。

25、查询95033班和95031班全体学生的记录。

26、查询存在有85分以上成绩的课程Cno.

27、查询出“计算机系“教师所教课程的成绩表。

28、查询“计算机系”与“电子工程系“不同职称的教师的Tname和Prof。

29、查询选修编号为“3-105“课程且成绩至少高于选修编号为“3-245”的同学的Cno、Sno和Degree,并按Degree从高到低次序排序。

30、 查询选修编号为“3-105”且成绩高于选修编号为“3-245”课程的同学的Cno、Sno和Degree.

31、查询所有教师和同学的name、sex和birthday.

32、查询所有“女”教师和“女”同学的name、sex和birthday.

33、查询成绩比该课程平均成绩低的同学的成绩表。

34、查询所有任课教师的Tname和Depart.

35、 查询所有未讲课的教师的Tname和Depart. 

36、查询至少有2名男生的班号。

37、查询Student表中不姓“王”的同学记录。

38、查询Student表中每个学生的姓名和年龄。

39、查询Student表中最大和最小的Sbirthday日期值。

40、以班号和年龄从大到小的顺序查询Student表中的全部记录。

41、查询“男”教师及其所上的课程。

42、查询最高分同学的Sno、Cno和Degree列。

43、查询和“李军”同性别的所有同学的Sname.

44、查询和“李军”同性别并同班的同学Sname.

45、查询所有选修“计算机导论”课程的“男”同学的成绩表。

select * from score where sno in(select sno from student where ssex='男') and cno=(select cno from course

where cname='计算机导论');

文档

学生选课数据库SQL语句练习题

一、设有一数据库,包括四个表:学生表(Student)、课程表(Course)、成绩表(Score)以及教师信息表(Teacher)。四个表的结构分别如表1-1的表(一)~表(四)所示,数据如表1-2的表(一)~表(四)所示。用SQL语句创建四个表并完成相关题目。表1-1数据库的表结构表(一)Student属性名数据类型可否为空含义SnoChar(3)否学号(主码)SnameChar(8)否学生姓名SsexChar(2)否学生性别Sbirthdaydatetime可学生出生年月ClassCha
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top