贵州大学计算机科学与信息学院软件工程系上机实验报告《数据库原理》实验报告题目单表查询姓名冯晓红班级软件123日期2014-4-26实验环境:SQLserver2008实验内容与完成情况:一、实验目的本实验的目的是使学生掌握SQLServer查询分析器的使用方法,并熟练掌握单表查询、数据排序、聚集函数。二、实验内容本实验使用实验二中建立的基本表Student、Course、SC和Teacher中的元组。Student学号Sno姓名Sname性别Ssex年龄Sage所在系Sdept200215121李勇男20CS200215122刘晨女19CS200215123王敏女18MA200215125张立男19IS200215126欧阳丽女21FLCourse课程号Cno课程名Cname先行课Cpno学分Ccredit1数据库542数学23信息系统144操作系统635数据结构746数据处理27PASCAL648DB_Design12SC学号Sno课程号Cno成绩Grade2002151211922002151212852002151213882002151222902002151223802002151221200215123250200215123370Teacher教师编号Tno教师姓名Tname性别Tsex年龄Tage所在系Tdept职称Ttitles工资Twage系主任编号Tdno110001钟灵女27CS讲师2800110005110002杨毅男42CS副教授3500110005110003周倩女25CS讲师2800110005110005陈文茂男48CS教授4000110005120001江南男30IS副教授3500120003120002刘洋男28IS讲师2800120003120003汪明男44IS教授4000120003120004张蕾女35IS副教授3500120003130001邹佳羽女25MA讲师2800130003130002王力男30MA讲师2800130003130003王小峰男35MA副教授3500130003130004魏昭男40MA副教授3500130003140001王力男32FL副教授3500140005140002张小梅女27FL讲师2800140005140003吴娅女27FL讲师2800140005140004陈姝女35FL副教授3500140005140005周斌男44FL教授4000140005在SQLServer2000查询分析器中,完成如下查询要求:(1)求全体学生的姓名、性别和所在系。Selectsname,ssex,sdeptFromstudent;(2)求该校的所有系名。SelectdistinctsdeptFromstudent;(3)求计科系男生的学号和姓名。SelectsnosnameFromstudentWheressex=‘男’;(4)求年龄在19-21岁(包含19岁和21岁)之间的学生姓名和所在系。Selectsname,sdeptFromstudentWheresagebetween19and21;(5)求存在先行课的课程的课程名和学分。Selectcno,ccriditFromcourseWherecpnoisnull;(6)求数学系或者信息系的学生姓名。SelectsnameFromstudentWheresdeptin(‘cs’,’ma’);(7)求以“数据”开头的所有课程的课程名和学分。Selectcname,ccriditFromcourseWherecnamelike‘数据%’;(8)求课程DB_Design的学分。SelectccriditFromcourseWherecname=’DB-Design’;(9)求缺考学生的学号和课程号。Selectsno,cnoFromscWheregradeisnull;(10)求选修了2号课程学生的学号和成绩。Selectsno,gradeFromscWherecno=’2’;(11)求计科系老师的姓名和工资。Selecttname,twageFromteacherWheretdept=’IS’;(12)求姓王的老师的姓名和所在系。Selecttname,tdeptFromteacherWheretnamelike‘王%’;(13)求工资在2500-3500之间的老师姓名。SelecttnameFromteacherWheretwagebetween2500and3500;(14)求外语系所有副教授的姓名和年龄。Selecttname,tageFromteacherWhereTtitles=‘副教授’Andtdept=‘IS’;(15)求所有女老师的姓名、年龄和所在系。SelectTname,Tage,TdeptFromteacherWhereTsex=’女’;(16)求学生的总人数。Selectcount(sno)Fromstudent;(17)求选修了课程的学生人数。Selectcount(sno)distinctsnoFromSCWherecnoISNOTNULL;(18)求课程号和选修了该课程的学生人数。Selectcno,count(sno)FromSCGroupbycno;(19)求教师人数超过4人的系名。SelectTdeptFromteachergroupbyTdepthavingcount(*)4;(20)求学生的学号及其选修课程的总成绩。Selectsno,count(grade)FromSCGroupbysno;(21)求系名和各系老师的平均年龄。SelectTdept,ave(Tage)FromteacherGroupbyTdept;(22)求各门课程课程号和平均成绩。Selectcno,ave(grade)FromSCGroupbycno;(23)求选修课程号为1的学号和成绩,并要求对查询结果按成绩的降序排列,学号的升序排列。Selectsno,gradeFromSCWherecno=’1’Orderbygradedesc;(24)求选修课程号为1且成绩在80~95之间的学生学号和成绩,并且成绩乘以0.8输出,将输出的列名改成“学号”和“成绩*0.8”。Selectsno,grade*0.8FromSCWheregradebetween80and95;(25)求3号课程的最高分。SelectMAX(grade)FromSCWherecno=’1’;三、实验方法将查询需求用SQL语言表示;在SQLServer查询分析器的输入区中输入SQL查询语句;编译和发布执行命令,并在结果区中查看查询结果;如果结果不正确,要进行修改,直到正确为止。三、出现的问题及其解决方案(列出遇到的问题和解决办法,列出没有解决的问题)问题1:实验速度慢。分析原因:对知识掌握不熟悉,对系统的操作也还不熟悉。解决办法:多阅读相关书籍,多实验掌握对系统的操作。