tceic.com
学霸学习网 这下你爽了
赞助商链接
当前位置:首页 >> 基础医学 >>

数据库实验四作业及答案


实验 4
一、
1. 2. 3. 4. 5. 6. 7.

数据查询

实验目的
掌握使用 Transact-SQL 的 SELECT 语句进行基本查询的方法。 掌握使用 SELECT 语句进行条件查询的方法。 掌握嵌套查询的方法。 掌握多表查询的方法。 掌握 SELECT 语句的 GROUP BY 和 ORDER BY 子句的作业和使用方法。 掌握联合查询的操作方法。 掌握数据更新语句 INSERT INTO、UPDATE、DELETE 的使用方法。

二、
1. 2. 3. 4. 5. 6.

实验准备
了解 SELECT 语句的基本语法格式和执行方法。 了解嵌套查询的表示方法。 了解 UNION 运算符的用法。 了解 SELECT 语句的 GROUP BY 和 ORDER BY 子句的作用。 了解 IN、JOIN 等子查询的格式。 了解 INSERT INTO、UPDATE、DELETE 的格式与作用。

三、
0.

实验内容及步骤
创建 studentsdb 数据库及其相应表,并录入数据。 启动查询分析器,运行下面链接的代码即可。 创建数据库代码

1. 在 studentsdb 数据库中,使用下列 SQL 语句将输出什么? (1) SELECT COUNT(*) FROM grade

(2)

SELECT SUBSTRING(姓名,1,2) FROM student_info

(3)

SELECT UPPER('kelly')

(4)

SELECT Replicate('kelly',3)

(5)

SELECT SQRT(分数) FROM grade WHERE 分数>=85

(6)

SELECT 2,3,POWER(2,3)

(7)

SELECT YEAR(GETDATE()),MONTH(GETDATE()),DAY(GETDATE())

2. 在 studentsdb 数据库中使用 SELECT 语句进行基本查询。 (1) 在 student_info 表中,查询每个学生的学号、姓名、出生日期信息。
SELECT*FROMstudent_info

(2)

查询学号为 0002 的学生的姓名和家庭住址。

SELECT姓名,家庭住址FROMstudent_info WHERE 学号=0002

(3)

找出所有男同学的学号和姓名。

SELECT学号,姓名FROMstudent_info

WHERE性别='男'

3. 使用 SELECT 语句进行条件查询 (1) 在 grade 表中查找分数在 80~90 分为内的学生的学号和分数。
SELECT学号,分数FROMgrade WHERE分数BETWEEN 80 AND 90

(2)

在 grade 表中查询课程编号为 0003 的学生的平均分。

SELECTAVG(分数)AS平均分FROMgrade WHERE课程编号=0003

(3)

在 grade 表中查询学习各门课程的人数。

SELECT课程编号,COUNT(*)AS人数 FROMgrade GROUPBY课程编号

(4)

将学生按出生日期由大到小排序。

SELECT学号,姓名,出生日期 FROMstudent_info ORDERBY 出生日期 ASC

(5) 查询所有姓“张”的学生的学号和姓名。 SELECT 学号,姓名 FROM student_info WHERE 姓名 LIKE '张%'

4. 嵌套查询 (1) 在 student_info 表中查找与“刘卫平”性别相同的所有学生的姓名、出生日 期。 SELECT 姓名,出生日期 FROM student_info WHERE 性别= (SELECT 性别 FROM student_info WHERE 姓名='刘卫平')

(2)

使用 IN 子查询查找所修课程编号为 0002、0005 的学生学号、姓名、性别。

SELECT 学号,姓名,性别 FROM student_info WHERE student_info.学号 IN (SELECT 学号 FROM grade WHERE 课程编号 IN ('0002', '0005'))

(3) 列出学号为 0001 的学生的分数比 0002 号的学生的最低分数高的课程编号和分数。
SELECT课程编号,分数FROMgrade WHERE学号='0001'AND分数>ANY (SELECT分数FROMgrade WHERE学号='0002')

(4) 列出学号为 0001 的学生的分数比 0002 的学生的最高成绩还要高的课程编号和分数。
SELECT课程编号,分数 FROMgrade WHERE学号='0001'AND分数>ALL (SELECT分数 FROMgrade WHERE学号='0002')

5. 多表查询 (1) 查询分数在 80~90 范围内的学生的学号、姓名、分数。 SELECT student_info.学号,姓名,分数 FROM student_info,grade WHERE student_info.学号=grade.学号 AND 分数 BETWEEN 80 AND 90

(2)

查询学习“C 语言程序设计”课程的学生的学号、姓名、分数。 SELECT student_info.学号,姓名,分数 FROM student_info INNER JOIN grade ON student_info.学号=grade.学号 INNER JOIN curriculum ON 课程名称='C 语言程序设计'

(3)

查询所有男同学的选课情况,要求列出学号、姓名、课程名称、分数。

selectstudent_info.学号,姓名,课程编号,分数 fromstudent_info leftouterjoingradeonstudent_info.学号=grade.学号 where性别='男'

(4)

查询每个学生的所选课程的最高成绩, 要求列出学号、 姓名、 课程名称、 分数。

selectgrade.学号,student_info.姓名,grade.课程编号,grade.分数 fromstudent_infoleftouterjoingradeonstudent_info.学号=grade.学号 wheregrade.分数>=(selectMAX(分数)fromgradeb whereb.学号=grade.学号)

(5)

查询所有学生的总成绩,要求列出学号、姓名、总成绩,没有选修课程的学 生的总成绩为空。 提示:使用左外连接。

selectgrade.学号,姓名,sum(分数) fromstudent_infoleftouterjoingradeonstudent_info.学号=grade.学号 groupbygrade.学号,姓名

(6) 为 grade 表添加数据行:学号 0004、课程编号为 0006、成绩为 76。查询所有 课程的选修情况,要求列出课程编号、课程名称、选修人数,curriculum 表中没有的课程 列值为空。 提示:使用右外连接。
insertgradevalues('0004','0006','76') selectgrade.课程编号,课程名称,count(*)fromgraderightouterjoincurriculum ongrade.课程编号=curriculum.课程编号 groupbygrade.课程编号,课程名称

6. 使用 UNION 运算符将 student_info 表中姓“张”的学生的学号、姓名与 curriculum 表的课程编号、课程名称返回在一个表中,且列名为 u_编号、u_名称,如图 1-8 所示。 select 学号 u_编号,姓名 u_名称 from student_info where 姓名 like '张%' union select 课程编号,课程名称 from curriculum

图 1-8 联合查询结果集

7. 数据更新 (1) 创建 totalgrade 表,具有数据列:学号、姓名、总成绩。 CREATE TABLE totalgrade ( 学号 char(4) NOT NULL, 姓名 varchar(8) NULL, 总成绩 decimal(5,2) NULL ) (2) 使用 INSERT INTO 语句通过 student_info 表更新 totalgrade 表的学号、姓 名列数据。 INSERT INTO totalgrade SELECT 学号,姓名,总成绩=0 FROM student_info

(3)

使用 UPDATE 语句通过 grade 表更新 totalgrade 表的中成绩列数据,使 totalgrade 表中每个学生的总分成绩为 grade 表中该学生各成绩之和。 UPDATE totalgrade SET 总成绩= (SELECT SUM(分数) FROM grade WHERE totalgrade.学号=grade.学号) FROM grade (4) 删除 totalgrade 表中没有总成绩的学生记录。 delete from totalgrade where 总成绩 is null

四、

实验思考

1. 查询所有没有选修课程的学生信息,返回结果包括学号、姓名、性别。 2. 在 student_info 表和 grade 表之间实现交叉连接。 3. 查询每个学生的所选课程的成绩,并列出学号生成分组汇总(总成绩)和明细行 (各课成绩)。 提示:使用 SELECT 语句的 COMPUTE 选项。


推荐相关:

数据库实验四作业及答案.doc

数据库实验四作业及答案 - 实验 4 一、 1. 2. 3. 4. 5. 6.


数据库实验及作业部分参考答案.doc

数据库实验及作业部分参考答案_计算机软件及应用_IT/计算机_专业资料。数据库实验...(tot_amt)<200000) order by sale_id 15-4 select sale_id from sales ...


数据库第四章作业及答案.doc

数据库第四章作业及答案 - 第四章 数据库安全性 8. 语句(加上视图机制 加上


数据库实验二作业及答案.doc

数据库实验作业及答案 - 实验 2 一、 实验目的 SQL Server 数据


数据库实验三作业及答案.doc

数据库实验作业及答案 - 实验 3 一、 1. SQL Server 数据表的


数据库课后习题答案(第四版).doc

数据库课后习题答案(第四版)_工学_高等教育_教育专区。习题答案精讲数据库原理实验手册实验实验名称: 实验名称:熟悉 SQL SERVER 2000 环境 一、实验目的 熟悉 ...


SQL数据库题库及答案 (4).doc

SQL数据库题库及答案 (4) - 实验 8 查询复习 一、 程序分析题 已知两


数据库实验内容与作业.doc

2. 上网查询并写报告:数据库系统的发展。 课堂实践 2 1. 2. 3. 4.


数据库技术第四次作业.doc

数据库技术第四次作业 - 中科院苏桂平老师数据库作业答案--个人做的而已... 数据库技术第四次作业_工学_高等教育_教育专区。中科院苏桂平老师数据库作业答案--...


数据库的作业题目及答案汇总.doc

数据库作业题目及答案汇总 - 实验三内容补充 在“教学管理系统”中设计了许多查


数据库实验二作业及答案[1].doc

数据库实验作业及答案[1] - 实验 2 一、 实验目的 SQL Server


数据库的作业题目及答案.doc

数据库作业题目及答案 - 实验三内容补充 在“教学管理系统”中设计了许多查询,


大三数据库实验作业3.doc

大三数据库实验作业3 - 1 2 3 4... 大三数据库实验作业3_IT认证_资格考试/认证_教育专区。北邮大三数据库 1 2 3 4 文档贡献者 s19u21n14 贡献于2013-01...


数据库实验题目和答案.doc

数据库上机实验部分题目... 6页 免费 实验01 建立数据库和表题... 暂无...数据库实验报告及答案 4页 免费 数据库实验五题目答案 暂无评价 12页 1下载...


数据库实验五题目答案.doc

数据库实验五题目答案 暂无评价|0人阅读...实验实验 5.1 数据查询 1) 要求 以 School 数据库为例,在该数据库中存在...


数据库实验习题.doc

数据库实验习题_理学_高等教育_教育专区。安徽工业...3/42 《数据库概论》实验 4/42 《数据库概论》...数据库实验十一习题答案 暂无评价 1页 2下载券 喜欢...


数据库系统作业(实验1.4).doc

数据库系统作业(实验1.4)_计算机软件及应用_IT/计算机_专业资料。实验 1.4 SQL...管理信息系统数据库设计... 5页 免费 实验项目数据库管理系统... 4页 ...


数据库全部实验作业.doc

数据库全部实验作业 - 实验一 1、实验目的和要求 Access 基本操作 (1


2012春北大网络教育数据库原理作业答案.doc

2012春北大网络教育数据库原理作业答案 - 2012 春北大网络教育(计算机专业)数据库原理作业答案 (一)数据库的发展历史分哪几个阶段?各有什么特点。 答:数据库的...


shu'数据库研讨、实验、作业题.doc

shu'数据库研讨、实验作业题 - 第 1 周(第四章:SQL 体系结构、组成、建库建表,索引自学) 一、实验课: 1. 建立 school 数据库 2. 在 school 下建立如...

网站首页 | 网站地图
All rights reserved Powered by 学霸学习网 www.tceic.com
copyright ©right 2010-2021。
文档资料库内容来自网络,如有侵犯请联系客服。zhit325@126.com