文档库 最新最全的文档下载
当前位置:文档库 › 数据库系统原理数据查询

数据库系统原理数据查询

实验项目名称:实验三数据查询

(所属课程:数据库系统原理)

学院:计算机与信息工程专业班级:姓名:学号:实验日期:

实验地点:指导教师:

本实验项目成绩:教师签字:日期:

一、实验目的

(1)对实验一、实验二已建好的Student 、Course 、Sc 表进行查询操作。

(2)充分体会SQL语言的结构化查询功能,让学生充分体会SQL语言的灵活多变,功能强大。

二、实验内容

(1)在实验一和实验二的基础上,进行数据库的查询,充分体会SQL语言的强大功能。简单查询:包含选择和投影的简单单表查询。、包含between、is null等条件的单表查询。包含分组和排序的单表查询、带连接条件的简单多表查询。

(2)嵌套查询:使用In短语的嵌套查询、使用Exists短语的嵌套查询、使用集合运算的多表查询。

三、实验要求

(1)查询全体学生的学号和姓名。

(2)查询全体学生的详细记录。

(3)查询全体学生的姓名和出生年份。

(4)查询选修了课程的学生的学号。

(5)查询计算机系的学生的姓名。

(6)查询年龄在20岁以下的计算机系的学生的学号和年龄。

(7)查询年龄在20—22岁的学生的学号。

(8)查询信息系、计算机系和外语系的学生的信息。

(9)查询姓“王”的学生的信息。

(10)查询选修了3号课程的学生的学号及成绩,结果按分数的降序排列。

(11)查询学生总人数。

(12)查询选修1号课程的学生的最高分。

(13)查询选修了3门以上课程的学生的学号。

(14)查询每个学生及其选修课程的情况。

(15)查询选修2号课程且分数在90分以上的所有学生。

(16)查询每个学生的学号、姓名、选课名及成绩。

(17) 查询与“李勇”在同一系的学生。

(18) 查询选修了课程名为“数据库”的学生学号和姓名。

(19) 查询没有选修1号课程的学生的姓名。

(20) 查询选修了所有课程的学生的姓名。

四、实验器材

安装关系数据库系统环境的微机。

五、实验结果

(1)查询每个学生的学号,姓名

select sno ,sname from Student

(2)查询全体学生的详细记录。

select * from Student

(3)查询全体学生的姓名和出生年份。

select sname,2014-sage as '出生年份' from Student

(4)查询选修了课程的学生的学号。

select distinct sno from Student,Course where cno in(select distinct cno from Course)

(5)查询计算机系的学生的姓名。

select sname from Student where sdept='计算机系'

(6)查询年龄在20岁以下的计算机系的学生的学号和年龄。

select sno,sage from Student where sage<20 and sdept='计算机系'

(7)查询年龄在20—22岁的学生的学号。

select sno from Student where sage between 20 and 22

(8)查询信息系、计算机系和外语系的学生的信息。

select * from Student where sdept in('信息系','计算机系','外语系')

(9)查询姓“王”的学生的信息。

select * from Student where sname like '王%'

(10)查询选修了3号课程的学生的学号及成绩,结果按分数的降序排列。

select sno,grade from Sc where cno='3' order by grade desc

(11)查询学生总人数。

select count(*) from Student

(12)查询选修1号课程的学生的最高分。

select max(grade) from Sc where cno='1'

(13)查询选修了3门以上课程的学生的学号。

select sno from Sc group by sno having count(*)>3

(14)查询每个学生及其选修课程的情况。

select Student.*,Sc.* from Student ,Sc where Student.sno=Sc.sno

(15)查询选修2号课程且分数在90分以上的所有学生。

select Student.sno,sname from Student,Sc where Student.sno=Sc.sno and https://www.wendangku.net/doc/3b18130046.html,o='2' and Sc.grade>90

(16)查询每个学生的学号、姓名、选课名及成绩。

select Student.sno,sname,https://www.wendangku.net/doc/3b18130046.html,ame,grade from Student,Sc,Course where Student.sno=Sc.sno and https://www.wendangku.net/doc/3b18130046.html,o=https://www.wendangku.net/doc/3b18130046.html,o

(17) 查询与“李勇”在同一系的学生。

select sno,sname,sdept from Student where sdept in(select sdept from Student where sname='李勇')

(18) 查询选修了课程名为“数据库”的学生学号和姓名。

select sno,sname from Student where sno in

(select sno from Sc where cno in(select cno from Course where cname='数据库'))

(19) 查询没有选修1号课程的学生的姓名。

select sname from Student where not exists(select * from Sc where sno=Student.sno and cno='1')

(20) 查询选修了所有课程的学生的姓名。

select sname from Student where not exists

(select * from Course where not exists

(select * from Sc where Sc.sno= Student.sno and Sc. cno= https://www.wendangku.net/doc/3b18130046.html,o)) 六、讨论

通过本次实验学会了用SQL命令在实验一和实验二的基础上,进行数据库的查询,包含选择和投影的简单单表查询。between、is null等条件的单表查询。包含分组和排序的单表查询、带连接条件的简单多表查询,使用In短语的嵌套查询、使用Exists短语的嵌套查询、使用集合运算的多表查询等一些简单查询。在该实验中虽然遇到了好多不懂的,但通过查询资料及同学们相互讨论,对数据库的表的一些基本操作有了更深的了解。

七、参考文献

《数据库系统管理-课程实验教学教纲》

《数据库系统概论(第4版)》高等教育出版社

相关文档
相关文档 最新文档