2022年实验报告2-关系数据库标准语言SQL.docx
精品学习资源试验 2:关系数据库标准语言 SQL一试验目的通过本试验使同学把握SQL语言的数据定义功能、数据查询功能和数据操纵功能;二试验类型验证型三试验学时4 学时四试验原理及学问点1. SQL语言的数据查询功能2. SQL语言的数据定义功能3. SQL语言的数据操纵功能五试验环境1. 硬件设备要求:PC 及其联网环境;2. 软件设备要求:Windows 操作系统; MS SQL Server数据库治理系统;六试验内容及步骤在 STUDENT数据库中,依据要求使用SQL语言完成以下操作,将SQL语句以 .sql 文件的形式储存在自己的目录下;1. 查询选修了课程的同学的学号;2. 查询同学学号和诞生年份;3. 查询电脑系同学的学号、 ;4. 查询年龄在 20 岁与 22 岁之间包括20 和 22 岁的同学和年龄;5. 查询同学中含有“波”字的同学情形;6. 查询缺少学习成果的同学学号和课程号;7. 查询选修 C601 课程的同学的学号和成果,并按分数的降序排列;8. 求选修了课程的同学人数;9. 求课程 C601 的平均成果;10. 求选修课程超过2 门的同学学号;11. 查询参与学习的同学所学的课程号和总分;12. 查询选修高等数学课程且成果在80 分以上的同学的学号、 ;13. 查询每一课程的间接先行课即先行课的先行课;14. 查询年龄低于全部工程系同学的同学、所在系、年龄;15. 找出刘建平老师所开全部课程的课程号、课程名;16. 找出全部课程的任课老师;17. 求同学 1203 所学课程的总分;18. 找出全部姓张的同学的和籍贯;19. 找出至少一门课程的成果在90 分以上的女同学的;20. 求每一年龄上人数超过2 的男生的详细人数,并按年龄从小到大排序;21. 把同学的学号及他的平均成果定义为一个视图GRADE_VIEW;22 创建一个从student 、 course、 study表中查出电脑系的同学及其成果的视图欢迎下载精品学习资源computer_view ,要求显示同学的学号sno、name 、课程号 cno、课程名称 cname 、成果 grade;23在 Student 表中依据同学创建索引name_index ;24. 在 Study 表中依据 sno 和 cno 创建索引 main_index ;25. 将课程 C603 的任课老师改为“赵明” ;26. 在 Student 表中插入两个同学记录:'1201',' 吴华 ', ' 女',20,'成都 ',' 电脑系 ''1102',' 张军 ', ' 男',21,'上海 ',' 工程系 '27. 删除年龄在 21 岁以上的同学记录;-1SELECTDISTINCTSno' 学号 'FROM Student_course;-2SELECTSno' 学号 ' ,2021 - Sage' 诞生年份 'FROM Student;-3SELECTSno' 学号 ' ,欢迎下载精品学习资源Sname'' FROM StudentWHERE Sdept='CS'-4SELECTSnameSage'',' 年龄 'FROM StudentWHERE Sage>= 20andSage<= 22 ;-5SELECT*FROM StudentWHERE SnameLIKE'% 波%' ;-6SELECTSno' 学号 ' , Cno' 课程号 '欢迎下载精品学习资源FROM Student_course WHERE GradeisNULL;-7SELECTSno' 学号 ' , Grade' 成果 'FROM Student_courseWHERE Cno='C601' ORDER BYGradeDESC;-8SELECTCOUNT DISTINCTFROM Student_courseSno ;-9SELECTAVG Grade FROM Student_courseWHERE Cno='C601'欢迎下载精品学习资源-10SELECTSno' 学号 ' FROM Student_course GROUP BYSnoHAVINGCOUNT Cno > 2 ;-11SELECTCno ' 课程号 ' ,SUM Grade ' 总分 ' FROM Student_courseGROUP BYCno ;-12SELECTStudent. Sno , Student. SnameFROM Student, Student_course, Course欢迎下载精品学习资源WHERE Student. Sno=Student_course. Sno andCourse. Cno=Student_course. CnoandCourse. Cname=' 高等数学 'andStudent_course. Grade> 80 ;-13SELECTFIRST . Cno , SECOND. CpnoFROM CourseFIRST , CourseSECONDWHERE FIRST . Cpno=SECOND. Cno ;-14SELECTSname , Sdept , SageFROM StudentWHERE Sage<ANY SELECTSageFROM StudentWHERE Sdept='EG'欢迎下载精品学习资源-15SELECTCno' 课程号 ' , Cname' 课程名 'FROM CourseWHERE Cteacher=' 刘剑平 ' ;-16SELECTDISTINCTCteacher' 老师 ' FROM CourseWHERE CteacherisnotNULL;-17SELECTSUM Grade ' 总成果 ' FROM Student_course GROUP BYSnoHAVINGSno='202115122'-18欢迎下载精品学习资源SELECTSname'',Snative' 籍贯 ' FROM StudentWHERE Snamelike' 张%' ;-19SELECTSname'' FROM StudentWHERE Ssex=' 女'andSnoinSELECTSnoFROM Student_course WHERE90<=Grade ;-20SELECTSage' 年龄 ' ,COUNT*' 男生人数 ' FROM StudentWHERE Ssex=' 男'andSagein SELECTSage FROM StudentGROUP BYSageHAVINGCOUNT*>= 2 GROUP BYSageORDER BYSage ;欢迎下载精品学习资源-21CREATEVIEWGRADE_VIEW ASSELECTSno ,AVG Grade Savg FROM Student_course GROUP BYSno ;-22CREATEVIEWCOMPUTER_VIEW ASSELECTStudent. Sno , Student. Sname , Course. Cno , Course. Cname ,Student_course. GradeFROM Student, Student_course, Course WHERE Student. Sno=Student_course. Sno andStudent_course. Cno=Course. Cno ;欢迎下载精品学习资源-23CREATEINDEXNAME_INDEXON Student Sname ;-24CREATEINDEXMAIN_INDEXON Student_course Sno , Cno ;欢迎下载精品学习资源-25UPDATECourseSETCteacher=' 赵明' WHERE Cno='C603'-26INSERTINTOStudent VALUES '1201', ' 吴华' , ' 女' , 20 , ' 成都 ' , 'CS', '1102', ' 张军' , ' 男' , 21 , ' 上海 ' , 'EG'-27DELETEFROM Student WHERE Sage> 21 ;七试验总结通过这次试验学会了使用SQL 查询语句、使用 SQL语句插入元组,使用SQL 语句删除元组,使用 SQL 语句创建索引和删除索引,但任然不是很娴熟,有许多地方需要查阅书籍才能完成,仍是需要多加练习;欢迎下载