您好,欢迎来到花图问答。
搜索
您的当前位置:首页数据库原理-单表查询-实验报告

数据库原理-单表查询-实验报告

来源:花图问答
.

计算机科学与信息学院 软件工程系上机实验报告

《数据库原理》实验报告 题目 实验3单表查询 姓名 *** 班级 *** 日期 *** 实验环境:SQL Server 2000 实验内容与完成情况: 一、实验目的 本实验的目的是使学生掌握SQL Server查询分析器的使用方法,并熟练掌握单表查询、数据排序、聚集函数。 二、实验内容 本实验使用实验二中建立的基本表Student、Course、SC和Teacher中的元组。 Student 学 号 Sno 200215121 200215122 200215123 200215125 200215126 Course 课程号 Cno 1 2 3 4 5 6 7 8 SC 学号 姓 名 Sname 李勇 刘晨 王敏 张立 欧阳丽 性 别 Ssex 男 女 女 男 女 年 龄 Sage 20 19 18 19 21 所在系 Sdept CS CS MA IS FL 课程名 Cname 数据库 数学 信息系统 操作系统 数据结构 数据处理 PASCAL DB_Design 先行课 Cpno 5 1 6 7 6 1 学分 Ccredit 4 2 4 3 4 2 4 2 课程号 精选

成绩 .

Sno Cno Grade 200215121 1 92 200215121 2 85 200215121 3 88 200215122 2 90 200215122 3 80 200215122 1 200215123 2 50 200215123 3 70 Teacher 教师 教师编号 性 别 年 龄 所在系 职称 工资 姓名 Tno Tsex Tage Tdept Ttitles Twage Tname 110001 钟灵 女 27 CS 讲师 2800 110002 杨毅 男 42 CS 副教授 3500 110003 周倩 女 25 CS 讲师 2800 110005 陈文茂 男 48 CS 教授 4000 120001 江南 男 30 IS 副教授 3500 120002 刘洋 男 28 IS 讲师 2800 120003 汪明 男 44 IS 教授 4000 120004 张蕾 女 35 IS 副教授 3500 130001 邹佳羽 女 25 MA 讲师 2800 130002 王力 男 30 MA 讲师 2800 130003 王小峰 男 35 MA 副教授 3500 130004 魏昭 男 40 MA 副教授 3500 140001 王力 男 32 FL 副教授 3500 140002 张小梅 女 27 FL 讲师 2800 140003 吴娅 女 27 FL 讲师 2800 140004 陈姝 女 35 FL 副教授 3500 140005 周斌 男 44 FL 教授 4000 在SQL Server2000查询分析器中,完成如下查询要求: (1) 求全体学生的姓名、性别和所在系。 SELECT Sname,Ssex,Sdept FROM Student; 系主任 编号 Tdno 110005 110005 110005 110005 120003 120003 120003 120003 130003 130003 130003 130003 140005 140005 140005 140005 140005 精选

.

(2) 求该校的所有系名。 SELECT DISTINCT Sdept FROM Student; (3) 求计科系男生的学号和姓名。 SELECT Sno,Sname 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) 求以“数据”开头的所有课程的课程名和学分。 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 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 Tname,Tage,Tdept FROM Teacher WHERE Tsex='女'; (16) 求学生的总人数。 SELECT COUNT(*) as '学生总人数' FROM Student ; (17) 求选修了课程的学生人数。 SELECT Cno,COUNT ( Sno)as '选修该课程的学生人数' FROM SC GROUP BY Cno ; 精选

.

(18) 求课程号和选修了该课程的学生人数。 SELECT COUNT (DISTINCT Sno)as '选修课程的学生人数' FROM SC ; (19) 求教师人数超过4人的系名。 SELECT Tdept as '教师人数超过4人的系' FROM Teacher GROUP BY Tdept HAVING COUNT(*)>4; (20) 求学生的学号及其选修课程的总成绩。 SELECT Sno,sum(Grade) as'总成绩' FROM SC GROUP BY Sno; 精选

.

(21) 求系名和各系老师的平均年龄。 SELECT Tdept,AVG(Tage) as'平均年龄' FROM Teacher GROUP BY Tdept; (22) 求各门课程课程号和平均成绩。 SELECT Cno,AVG(Grade) as'平均成绩' FROM SC GROUP BY Cno; (23) 求选修课程号为1的学号和成绩,并要求对查询结果按成绩的降序排列,学号的升序排列。 SELECT Sno,Grade FROM SC WHERE Cno=1 ORDER BY Grade DESC,SNO ASC; 精选

.

(24) 求选修课程号为1且成绩在80~95之间的学生学号和成绩,并且成绩乘以0.8输出,将输出的列名改成“学号”和“成绩*0.8”。 SELECT Sno as '学号',Grade*0.8 as '成绩*0.8' FROM SC WHERE Cno=1 AND Grade BETWEEN 80 AND 95 ORDER BY Grade DESC,SNO ASC; (25) 求3号课程的最高分。 SELECT MAX(Grade) as'3号课程的最高分' FROM SC WHERE Cno=3 ; 精选

.

三、出现的问题及其解决方案(列出遇到的问题和解决办法,列出没有解决的问题) 问题1:在查询计科系男生的学号和姓名时,提示“’‘”符号处有语法错误。 分析原因:应该是受符号的中英文输入影响; 解决办法:将英文的“’”符号改为中文的“‘”,问题解决。 精选

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

Copyright © 2019- huatuowenda.com 版权所有 湘ICP备2023022495号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务