实验4 数据库的数据查询.docx
《实验4 数据库的数据查询.docx》由会员分享,可在线阅读,更多相关《实验4 数据库的数据查询.docx(14页珍藏版)》请在冰豆网上搜索。
![实验4 数据库的数据查询.docx](https://file1.bdocx.com/fileroot1/2022-12/14/c950e637-4a8c-4a0e-98b1-7ebb2093a994/c950e637-4a8c-4a0e-98b1-7ebb2093a9941.gif)
实验4数据库的数据查询
韶关学院
学生实验报告册
实验课程名称:
数据库技术与应用
实验项目名称:
数据库的数据查询
实验类型(打√):
(基础☑、综合、设计)
院系:
教育学院专业班级:
11教育技术学
姓名学号:
指导老师:
林育曼
韶关学院教务处编制
一、实验预习报告内容
预习日期:
2013年10月20日
实验预习报告内容原则上应包含实验目的、实验所用主要仪器药品、实验原理与公式、
实验预习疑问等项目。
一、实验目的
1、掌握使用Transact-SQL的SELECT语句进行基本查询的方法。
2、掌握使用SELECT语句进行条件查询的方法。
3、掌握SELECT语句的GROUPBY、ORDERBY以及UNION子句的作用和使用方法。
4、掌握嵌套查询的方法。
5、掌握连接查询的操作方法。
二、实验准备
1、了解SELECT语句的基本语法格式和执行方法。
2、了解嵌套查询的表示方法。
3、了解UNION运算符的用法。
4、了解SELECT语句的GROUPBY、ORDERBY以及UNION子句的作用和使用方法。
5、了解IN、JOIN等子查询的格式。
6、了解INSERT、INTO、UPDATE、DELETE的格式与作用。
三、实验内容
1、完成上机实验指导中的实验4,并回答实验中的实验思考。
(具体实验要求看上机实验指导书的9~11页,把实验步骤和Transact-SQL语句相关的内容和结果截图,填在“三、实验报告内容”中。
并写一下实验小结。
)
实验预习评分:
二、实验原始(数据)记录
实验时间:
2013年10月22日(星期二第七八节)
实验同组人:
如有实验数据表格,学生在实验预习时应画好实验数据表格,供实验时填写数据(本页如
不够,可另附相同规格的纸张)。
指导教师
批阅及签名
签名:
年月日
三、实验报告内容
2013年9月24日
实验报告内容原则上应包含主要实验步骤、实验数据计算(实验操作)结果、实验结果
(疑问)分析等项目。
实施内容:
一、根据实验要求完成实验:
(写明步骤和截图)
实验四
1、在studentsdb数据库中,使用SQL语句将输出什么?
(1)SELECTCOUNT(*)AS总数FROMgrade
其表示的是grade表中*号的前面行数:
(2)SELECTSUBSTRING(姓名,1,2)FROMstudent_info
(3)SELECTUPPER(‘kelly’)
(4)SELECTReplicate(‘kelly’,3)
(5)SELECTSQRT(分数)FROMgradeWHERE分数>=85
(6)SELECT2,3,POWER(2,3)
(7)SELECTYEAR(GETDATE()),MONTH(GETDATE()),DAY(GETDATE())
2、在studentsdb数据库中使用select语句进行基本查询。
(1)在student_info表中,查询每个学生的学号、姓名、出生日期信息。
(2)查询学号为0002的学生姓名和家庭住址
(3)找出所有男同学的学号和姓名。
3、使用SELECT语句进行条件查询
(1)在grade表中查询分数在80-90范围内的学生的学号和分数。
(2)在grade表中查询课程编号为0003的学生的平均分。
(3)在grade表中查询学习各门课程的人数。
(4)将学生按出生日期由大到小排序。
(5)查询所有姓“张”的学生的学号和姓名。
4、嵌套查询
(1)在student_info表中查询与“刘卫平”性别相同的所有学生的姓名、出生日期。
(2)使用in子查询查找所修课程编号为0002、0005的学生姓名、性别。
(3)列出学号为0001的学生的分数比0002的学生的最低分数高的课程编号和分数。
(4)列出学号为0001的学生的分数比0002的学生的最高成绩还要高的课程编和分数。
5、多表查询
(1)查询分数在80-90范围内的的学生学号、姓名、分数。
(2)查询“C语言程序设计”课程的学生的学号、姓名、分数。
(3)查询所有男同学的选课情况,要求列出学号、课程名称、分数。
(4)查询每个学生的所选课程的最高成绩,要求列出学号、姓名、课程名称、分数。
(5)查询所有学生的总成绩,要求列出学号、姓名、总成绩、没有选修课程的学生的总成绩为空。
(6)为grade表添加数据行:
学号0004、课程编号为0006、分数为76.查询所有课程的选修情况,要求列出课程编号、课程名称、选修人数,curriculum表中没有的课程列值为空。
6、使用UNION运算符将student_info表中姓“张”的学生的学号、姓名与curriculum表中课程编号、课程名称返回在一个表中且列名为u_编号、u_名称。
7、数据更新
(1)创建totalgrade表,具有数据列:
学号、姓名、总成绩。
(2)使用INNERINTO语句通过student_info表更新rotalgrade表的学号、姓名列数据
(3)使用UPDATE语句通过grade表更新totalgrade表的总成绩列数据,使用totalgrade表中每个学生的总成绩为grade表中该学生各成绩之和。
(4)删除totalgrade表中没有总成绩的学生记录。
思考题
1、查询所有没有选修课程的学生信息,返回结果包括学号、姓名、性别。
2、在student_info表和grade表之间实现交叉连接
3、查询每个学生的所选课程的成绩,并列出学号生成分组汇总(总成绩)和明细行
(各课成绩)。
实验报告评分:
注:
1、如个别实验的实验报告内容多,实验报告册页面不够写,或有识图、画图要求的,学生应根据实验指导老师要求另附相同规格的纸张并粘贴在相应的“实验报告册”中。
2、实验报告册属教学运行材料,院系(中心)应按有关规定归档保管。