您好,欢迎来到九壹网。
搜索
您的当前位置:首页数据库实验报告 数据查询

数据库实验报告 数据查询

来源:九壹网


计算机与通信工程学院

实 验 报 告

(软件实验用)

课程名称 数据库原理与技术 实验项目名称 数据查询 年级 大三 班级 信计 学号 姓名

同组姓名 实验日期 指导教师签字

一、实验目的: 熟悉和掌握对数据表中数据的查询操作和SQL命令的使用,学会灵活熟练地使用SQL 语句的各种形式; 二、实验内容: 1、简单查询操作 (1)列出所有教授的姓名和工资: SELECT 姓名,工资 FROM 教工 WHERE 职称= '教授' (2)列出教授的所有信息。 SELECT * FROM 教工 WHERE 职称='教授' (3)列出教工表中的系编号并消除重复的元组。 SELECT DISTINCT 系编号 FROM 教工 (4)已知学分=学时/17,计算每一门课程的学分数。 SELECT 课程名称,学时/17 AS 学分 FROM 课程 (5)显示教授的工资和提高10%的工资额。 SELECT 姓名,工资,工资*1.1 AS '工资*1.1' FROM 教工 WHERE 职称='教授' (6)显示田平平同学出生100天的日期。 SELECT 姓名, 出生年月+100 AS '出生年月+100' FROM 学生 WHERE 姓名='田平平' (7)列出教工表中工资在3000元以上的名单。 SELECT 姓名 FROM 教工 WHERE 工资>= 3000 (8)列出学生表中1980年1月1日之后出生的学生名单。 SELECT 姓名 FROM 学生 WHERE 出生年月>= '1980-1-1' (9)列出学生表中在1980年1月1日之后出生的男同学名单。

1

SELECT 姓名 FROM 学生 WHERE 出生年月>= '1980-1-1' AND 性别='男' (10)列出教工表中教授或副教授中工资低于3000元的名单。 SELECT 姓名 FROM 教工 WHERE (职称='教授' OR 职称='副教授')AND 工资<3000 (11)显示男学生的姓名和所在的系名称。 SELECT 姓名,系名称 FROM 学生,系 WHERE 学生.系编号=系.系编号 AND 性别='男' 或 SELECT 姓名,系名称 FROM 学生 R,系 S WHERE R.系编号=S.系编号 AND 性别='男' (12)列出教工中比姜立伟工资低的姓名和工资。 SELECT R.姓名,R.工资 FROM 教工 R, 教工 S WHERE R.工资=1000 AND 工资<=2000 (15)按学号的升序,显示系编号等于101的学生信息: SELECT * FROM 学生 WHERE 系编号=101 ORDER BY 学号 (16)求教工表中教授工资的平均值。 SELECT AVG (工资) AS 平均工资 FROM 教工 WHERE 职称='教授'

2

(17)求所有教工的工资总和。 SELECT SUM (工资) AS 工资总和 FROM 教工 (18)找出教工中最高工资和最低工资。 SELECT MAX(工资),MIN(工资) FROM 教工 (19)显示学生中最早和最晚的出生日期。 SELECT MIN (出生日期), MAX (出生日期) FROM 学生 (20)查询学生的总人数。 SELECT COUNT(*)AS 人数 FROM 学生 2、复杂查询 (21)如果要统计成绩表中所有选课的学生人数,即不管一名学生选了几门课程,都只计算一次 SELECT COUNT (DISTINCT (学号)) AS 人数 FROM 成绩 (22)统计学生表中男生和女生的人数。 SELECT 性别, COUNT (*) FROM 学生 GROUP BY 性别 (23)统计成绩表中,每一门课程的平均成绩。 SELECT 课程编号,AVG (分数) FROM 成绩 GROUP BY 课程编号 (24)查询教工表中每一种职称的最高工资和最低工资。 SELECT 职称, MAX (工资), MIN (工资) FROM 教工 GROUP BY 职称 (25)统计成绩表中选修人数超过2以上的课程编号和人数。 SELECT 课程编号,COUNT (*) FROM 成绩 GROUP BY 课程编号 HAVING COUNT(*)>2 (26)列出成绩表中分数在60以上、选课数大于2且平均分超过70的学号、选课数目和平均分。 SELECT 学号,COUNT(课程编号 ), AVG (分数) FROM 成绩

3

WHERE 分数>=60 GROUP BY 学号 HAVING COUNT(课程编号)>2 AND AVG(分数) >70 (27)统计“CS”系学生的人数; (28)统计各系学生的人数,结果按升序排列; (29)按系统计各系学生的平均年龄,结果按降序排列; (30)查询每门课程的课程名; (31)查询无先修课的课程的课程名和学时数; (32)统计无先修课的课程的学时总数; (33)统计每位学生选修课程的门数、学分及其平均成绩; (34)统计选修每门课程的学生人数及各门课程的平均成绩; (35)找出平均成绩在85分以上的学生,结果按系分组,并按平均成绩的升序排 列; (36)查询选修了“1”或“2”号课程的学生学号和姓名; (37)查询选修了“1”和“2”号课程的学生学号和姓名; (38)查询选修了课程名为“数据库系统”且成绩在60分以下的学生的学号、姓名和成绩; (39)查询每位学生选修了课程的学生信息(显示:学号,姓名,课程号,课程名,成绩); (40)查询没有选修课程的学生的基本信息; (41)查询选修了3门以上课程的学生学号; (42)查询选修课程成绩至少有一门在80分以上的学生学号; (43)查询选修课程成绩均在80分以上的学生学号; (44)查询选修课程平均成绩在80分以上的学生学号; 三、实验平台: Microsoft SQL Sever 四、设计流程: 1、进入查询分析器,参见进入查询分析器演示。 在查询分析器的命令编辑窗口输入SQL语句,点击执行键 ►,将执行SQL语句。参见执行SQL语句的演示。 2、在调试程序过程中,可以用鼠标选择某些要执行的SQL语句,再点击执行键,执行选择的语句。参见执行SQL语句的演示。 3、 注意:在各个表中插入数据的顺序,首先在父表中插入数据,然后在子表中插入数据。另外,由于表的定义中包含完整性约束的定义,所以,

4

当主码重复,或者外码不是被参照表的有效值时,系统将拒绝插入的数据。 4、保存调试通过的SQL程序。 五、程序清单: 六、调试和测试结果: 七、教师评语与成绩评定:

5

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

Copyright © 2019- 91gzw.com 版权所有 湘ICP备2023023988号-2

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

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