1、数据库原理单表查询实验报告计算机科学与信息学院软件工程系上机实验报告数据库原理实验报告题目实验3单表查询*班级*日期*实验环境:SQL Server 2000实验内容与完成情况:一、实验目的本实验的目的是使学生掌握SQL Server查询分析器的使用方法,并熟练掌握单表查询、数据排序、聚集函数。二、实验内容本实验使用实验二中建立的基本表Student、Course、SC和Teacher中的元组。Student学 号Sno姓 名Sname性 别Ssex年 龄Sage所在系Sdept200215121李勇男20CS200215122刘晨女19CS200215123王敏女18MA200215125张
2、立男19IS200215126欧阳丽女21FLCourse课程号Cno课程名Cname先行课Cpno学分Ccredit1数据库542数学23信息系统144操作系统635数据结构746数据处理27PASCAL648DB_Design12SC学号Sno课程号Cno成绩Grade2002151211922002151212852002151213882002151222902002151223802002151221200215123250200215123370Teacher教师编号Tno教师Tname性 别Tsex年 龄Tage所在系Tdept职称Ttitles工资Twage系主任编号Tdno1
3、10001钟灵女27CS讲师2800110005110002杨毅男42CS副教授3500110005110003周倩女25CS讲师2800110005110005陈文茂男48CS教授4000110005120001江南男30IS副教授3500120003120002刘洋男28IS讲师2800120003120003汪明男44IS教授4000120003120004张蕾女35IS副教授3500120003130001邹佳羽女25MA讲师2800130003130002王力男30MA讲师2800130003130003王小峰男35MA副教授3500130003130004魏昭男40MA副教授350
4、0130003140001王力男32FL副教授3500140005140002张小梅女27FL讲师2800140005140003吴娅女27FL讲师2800140005140004陈姝女35FL副教授3500140005140005周斌男44FL教授4000140005在SQL Server2000查询分析器中,完成如下查询要求:(1) 求全体学生的姓名、性别和所在系。SELECT Sname,Ssex,Sdept FROM Student;(2) 求该校的所有系名。SELECT DISTINCT Sdept FROM Student;(3) 求计科系男生的学号和姓名。SELECT Sno,S
5、name FROM Student WHERE Ssex=男 and Sdept=CS;(4) 求年龄在19-21岁(包含19岁和21岁)之间的学生姓名和所在系。SLELCT Sno,Sdept FROM Student WHERE Sage BETWEEN 19 AND 21;(5) 求存在先行课的课程的课程名和学分。SELECT Cname,Ccredit FROM Course WHERE Cpno IS not NULL; (6) 求数学系或者信息系的学生姓名。 SELECT Sname FROM Student where Sdept in(MA,IS);(7) 求以“数据”开头的所
6、有课程的课程名和学分。SELECT Cname,Ccredit FROM Course WHERE Cname LIKE 数据%;(8) 求课程DB_Design的学分。SELECT Ccredit FROM Course WHERE Cname LIKE DB_Design;(9) 求缺考学生的学号和课程号。SELECT Sno,Cno FROM SC WHERE Grade IS NULL;(10) 求选修了2号课程学生的学号和成绩。SELECT Sno,Grade FROM SC WHERE Cno=2;(11) 求计科系老师的姓名和工资。SELECT Tname,Twage FROM
7、Teacher WHERE Tdept=CS;(12) 求姓王的老师的姓名和所在系。SELECT Tname,Taddress FROM Teacher WHERE Tname LIKE 王%;(13) 求工资在2500-3500之间的老师姓名。SELECT Tname FROM Teacher where Twage BETWEEN 2500 AND 3500;(14) 求外语系所有副教授的姓名和年龄。SELECT Tname,Tage FROM Teacher where Tdept=FL AND Ttitles LIKE 副教授;(15) 求所有女老师的姓名、年龄和所在系。SELECT
8、Tname,Tage,Tdept FROM Teacher WHERE Tsex=女;(16) 求学生的总人数。SELECT COUNT(*) as 学生总人数FROM Student ;(17) 求选修了课程的学生人数。SELECT Cno,COUNT ( Sno)as 选修该课程的学生人数FROM SCGROUP BY Cno ;(18) 求课程号和选修了该课程的学生人数。SELECT COUNT (DISTINCT Sno)as 选修课程的学生人数FROM SC ;(19) 求教师人数超过4人的系名。SELECT Tdept as 教师人数超过4人的系FROM Teacher GROUP
9、 BY TdeptHAVING COUNT(*)4;(20) 求学生的学号及其选修课程的总成绩。SELECT Sno,sum(Grade) as总成绩FROM SCGROUP BY Sno;(21) 求系名和各系老师的平均年龄。SELECT Tdept,AVG(Tage) as平均年龄FROM TeacherGROUP BY Tdept;(22) 求各门课程课程号和平均成绩。SELECT Cno,AVG(Grade) as平均成绩FROM SCGROUP BY Cno;(23) 求选修课程号为1的学号和成绩,并要求对查询结果按成绩的降序排列,学号的升序排列。SELECT Sno,GradeFR
10、OM SCWHERE Cno=1ORDER BY Grade DESC,SNO ASC;(24) 求选修课程号为1且成绩在8095之间的学生学号和成绩,并且成绩乘以0.8输出,将输出的列名改成“学号”和“成绩*0.8”。SELECT Sno as 学号,Grade*0.8 as 成绩*0.8FROM SCWHERE Cno=1 AND Grade BETWEEN 80 AND 95ORDER BY Grade DESC,SNO ASC;(25) 求3号课程的最高分。SELECT MAX(Grade) as3号课程的最高分FROM SCWHERE Cno=3 ;三、出现的问题及其解决方案(列出遇到的问题和解决办法,列出没有解决的问题)问题1:在查询计科系男生的学号和姓名时,提示“”符号处有语法错误。分析原因:应该是受符号的中英文输入影响; 解决办法:将英文的“”符号改为中文的“”,问题解决。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1