您的当前位置:首页正文

数据库SQL实验报告__SQL交互式查询(单表查询)

2021-04-17 来源:易榕旅网
 实验3 SQL交互式查询(单表查询) 实验日期和时间: 班级: 学号: 实验室: 姓名: 实验环境: 1. 硬件:计算机 2. 软件:windows 7 & SQL 2000 实验主要任务: 在实验1中建立的学生选课数据库中,用SQL语句完成下列查询任务 1. 在学生表中查询姓名为“张晶晶”学生的记录。 2. 查询“会计系”全体女同学的记录,列出学号、姓名、年龄。 3. 查询非“金融系”且年龄小于等于20岁的学生记录,列出学号、姓名、系编号。 4. 查询所有2009级(学号以2009 开头)的学生的成绩,列出学号、课程号、成绩,查询结果按课程号排序。 5. 查询所有低于60 分的学生成绩记录,列出学号、课程号、成绩,结果按课程号、学号排序列表。 6. 查询选修了1 号课程并且成绩大于等于90分的学生记录,列出学号、成绩,并按成绩降序排序。 7. 查询超过2 学分(大于)的课程记录。 8. 查询学生表中所有1993年出生的学生的记录,按出生日期排序。 9. 统计全体学生的总人数。 10. 统计各系的学生人数,列出所在系、人数。 11. 统计各门课的平均分,列出课程号、平均分。 12. 查询选修人数不足5 人的课程,列出课程号、人数。 查询1:在学生表中查询姓名为“张晶晶”学生的记录。 代码:select * from 学生 where 姓名='张晶晶' 执行结果: 说明:查询的姓名有改动 查询2:查询“会计系”全体女同学的记录,列出学号、姓名、年龄。 代码:select * from 学生,系 where 系名='会计' and 系.系编号=学生.系编号 执行结果: 说明: 第1页

5/10/2023

查询3:查询非“金融系”且年龄小于等于21岁的学生记录,列出学号、姓名、系编号、系名。 代码:select 学号,姓名,学生.系编号,系名 from 学生,系 where 系名<>'金融' and 系.系编号=学生.系编号 and year(getdate())-year(出生日期)<21 执行结果: 说明:改成21岁,添加了系名显示 查询4:查询所有2009级(学号以2009 开头)的学生的成绩,列出学号、课程号、成绩,查询结果按课程号排序 代码:select 学号,课程号,成绩 from 选课 where 学号 like '2009%' order by 课程号 执行结果: 说明: 第2页 5/10/2023

查询5:查询所有低于80 分的学生成绩记录,列出学号、课程号、成绩,结果按课程号、学号排序列表 代码:select 学号,课程号,成绩 from 选课 where 成绩<80 order by 课程号,学号 执行结果: 说明:低于60分改成了 低于80分 第3页

5/10/2023

查询6:查询选修了0001 号课程并且成绩大于等于90分的学生记录,列出学号、成绩、课程号,并按成绩降序排序 代码:select 学号,成绩 ,课程号 from 选课 where 成绩>90 and 课程号='0001' order by 成绩 DESC 执行结果: 说明:1号课程 改成了 课程号0001,显示时候加了属性 课程号 查询7:查询超过4 学分(大于)的课程记录 代码:select * from 课程 where 学分>4 执行结果: 说明:超过2学分 改成了 超过 4学分 第4页

5/10/2023

查询8:查询学生表中所有1990年出生的学生的记录,按出生日期排序 代码:select * from 学生 where year(出生日期)=1990 order by 出生日期 执行结果: 说明:查询1993年出生 改成了 1990 查询9:统计全体学生的总人数 代码:select count(学号) as 总人数 from 学生 执行结果:说明: 查询10:统计各系的学生人数,列出所在系、人数 代码:select 系名,sum(选课人数) as 人数 from 系, 授课,课程 where 系.系编号=课程.系编号 and 课程.课程号=授课.课程号 group by 系名 执行结果:说明: 第5页

5/10/2023

查询11:统计各门课的平均分,列出课程号、平均分 代码:select 课程号,avg(成绩) as 平均分 from 选课 group by 课程号 执行结果: 说明: 查询12:查询选修人数不足100人的课程,列出课程号、人数 代码:select 课程号,选课人数 as 人数 from 授课 where 选课人数<100 执行结果: 说明:不足5人 改成了 不足100人 第6页

5/10/2023

你在完成查询任务1-12的过程中遇到的问题及解决的方法有: 实验10: 代码:select 系名,sum(选课人数) as 人数 from 系, 授课,课程 where 系.系编号=课程.系编号 and 课程.课程号=授课.课程号 group by 系.系编号 结果: 解决办法:把group by 后面的 系.系编号 给成 系名 疑问?为什么货出现这样的结果啊?请老师解答 本次实验涉及到的基本原理:(语法) select 对表的查询; 表的连接; 给数据分组; 给数据排序; 小结:一个标点符号都会造成错误,需要注意细节 要求: 1. 报告格式和内容要求:

a. 内容和格式整齐。大标题采用黑体四号字加粗,小标题采用小四号字加粗。正文采用五号宋体,单倍行距。

b. 贴图时请剪裁到适当大小,要保证打印时可以看清,但也不要太大以免“越界”。

c. 不要在报告中写与实验无关的话,内容要有条理、完整、并能突出重点,要将遇到的主要问题说明。

2. 文件格式要求:

a. 将实验成果放入一个文件夹中,文件夹的内容包括:本实验报告、分离后的数据库、如有查询代码(.sql文件)和其它文件也一并放入。

b. 文件夹以“学号姓名_S3”为文件名。其中,S3表示这是实验3的报告,S大写,以后的实验报告以类似方法编号顺延,注意:你的学号放在姓名前。

c. 注意:所有文件保存后关闭,然后再打包成RAR文件,以免提交的内容丢失或打不开。 3. 提交方式和时间:一周内完成。可以将文件包发到我邮箱******@126.com。 4. 主动查阅资料,坚持自己亲手完成实验,弄清每个步骤和相关原理。

第7页

5/10/2023

因篇幅问题不能全部显示,请点此查看更多更全内容