数据库SQL语句练习题

一、            设有一数据库,包括四个表:学生表(Student)、课程表(Course)、成绩表(Score)以及教师信息表(Teacher)。四个表的结构分别如表1-1的表(一)~表(四)所示,数据如表1-2的表(一)~表(四)所示。用SQL语句创建四个表并完成相关题目。

表1-1数据库的表结构

表(一)Student (学生表)


属性名


数据类型


可否为空


含 义


Sno


varchar (20)



学号(主码)


Sname


varchar (20)



学生姓名


Ssex


varchar (20)



学生性别


Sbirthday


datetime



学生出生年月


Class


varchar (20)



学生所在班级

表(二)Course(课程表)


属性名


数据类型


可否为空


含 义


Cno


varchar (20)



课程号(主码)


Cname


varchar (20)



课程名称


Tno


varchar (20)



教工编号(外码)

表(三)Score(成绩表)


属性名


数据类型


可否为空


含 义


Sno


varchar (20)



学号(外码)


Cno


varchar (20)



课程号(外码)


Degree


Decimal(4,1)



成绩


主码:Sno+ Cno

表(四)Teacher(教师表)


属性名


数据类型


可否为空


含 义


Tno


varchar (20)



教工编号(主码)


Tname


varchar (20)



教工姓名


Tsex


varchar (20)



教工性别


Tbirthday


datetime



教工出生年月


Prof


varchar (20)



职称


Depart


varchar (20)



教工所在部门

表1-2数据库中的数据

表(一)Student


Sno


Sname


Ssex


Sbirthday


class


108


曾华



1977-09-01


95033


105


匡明



1975-10-02


95031


107


王丽



1976-01-23


95033


101


李军



1976-02-20


95033


109


王芳



1975-02-10


95031


103


陆君



1974-06-03


95031

表(二)Course


Cno


Cname


Tno


3-105


计算机导论


825


3-245


操作系统


804


6-166


数字电路


856


9-888


高等数学


831

表(三)Score


Sno


Cno


Degree


103


3-245


86


105


3-245


75


109


3-245


68


103


3-105


92


105


3-105


88


109


3-105


76


101


3-105


64


107


3-105


91


108


3-105


78


101


6-166


85


107


6-166


79


108


6-166


81

表(四)Teacher


Tno


Tname


Tsex


Tbirthday


Prof


Depart


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)



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 * from score order by degree desc

【无关子查询】

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

时间: 2025-01-01 11:14:30

数据库SQL语句练习题的相关文章

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

一.            设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的表(一)~表(四)所示,数据如表1-2的表(一)~表(四)所示.用SQL语句创建四个表并完成相关题目. 表1-1数据库的表结构 表(一)Student (学生表) 字段名 数据类型 可否为空 含 义 Sno Varchar2(3) 否 学号(主键) Sname Varchar2(8) 否 学生姓名 Ssex Va

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

1. 查询Student表中的所有记录的Sname.Ssex和Class列. select Sname,Ssex,t.sclass from STUDENT t 2. 查询教师所有的单位即不重复的Depart列. select distinct t.depart from TEACHER t 3. 查询Student表的所有记录. select * from STUDENT t 4. 查询Score表中成绩在60到80之间的所有记录. select * from SCORE t where de

(10.09作业)学生选课数据库SQL语句练习题

数据库SQL语句练习题10--18

10.查询Score表中的最高分的学生学号和课程号.(子查询或者排序) select t.sno,t.cno from SCORE t where degree = (select max(degree) from SCORE t) 11. 查询每门课的平均成绩. 12.查询Score表中至少有5名学生选修的并以3开头的课程的平均分数. select avg(degree) from SCORE t where( cno in (select cno from SCORE t group by

数据库SQL语句练习题5--9

5. 查询Score表中成绩为85,86或88的记录. select * from SCORE t where degree in (85,86,88) 6. 查询Student表中“95031”班或性别为“女”的同学记录. select * from STUDENT t where class='95031' or ssex = '女' 7. 以Class降序查询Student表的所有记录. select * from STUDENT t order by class desc 8. 以Cno

课数据库SQL语句练习题

20.查询score中选学多门课程的同学中分数为非最高分成绩的记录. 24.查询选修某课程的同学人数多于5人的教师姓名 25.查询95033班和95031班全体学生的记录. 26.  查询存在有85分以上成绩的课程Cno. 28.查询“计算机系”与“电子工程系“不同职称的教师的Tname和Prof.

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

1.select Sname , Ssex  ,Class from t_hq_student; 2.select distinct Depart from t_hq_teacher; 3.select * from  t_hq_student; 4.select * from t_hq_Score where Degree between 60 and 80; 5.select * from t_hq_Score where Degree in('85','86','88'); 6.selec

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

25.查询95033班和95031班全体学生的记录. select * from STUDENT t,SCORE s where t.sclass=95033 or t.sclass=95031 26.  查询存在有85分以上成绩的课程Cno. select s.cno from SCORE s where s.degree>85 27.查询出"计算机系"教师所教课程的成绩表. 28.查询"计算机系"与"电子工程系"不同职称的教师的Tnam

数据库SQL语句练习题0613

12.查询Score表中至少有5名学生选修的并以3开头的课程的平均分数. 13.查询分数大于70,小于90的Sno列 14.查询所有学生的Sname.Cno和Degree列. 15.查询所有学生的Sno.Cname和Degree列. 16.查询所有学生的Sname.Cname和Degree列. 17. 查询“95033”班学生的平均分 19.  查询选修“3-105”课程的成绩高于“109”号同学成绩的所有同学的记录.