实验二 数据库的简单查询、连接查询、组合查询和统计查询
一、实验目的
1、使用SQL Sever查询分析器的使用方法。
2、加深Transat-SQL语言的查询语句的理解。
3、熟练掌握简单表的数据查询、数据排列和数据连接查询的操作方法。
4、熟练掌握数据查询中的分组、统计、计算和组合的操作方法。
二、实验内容
1、查询操作。包括投影、选择条件表达、数据排列、使用临时表等。
2、连接查询操作。包括等值连接、自然连接、求笛卡儿积、一般连接、外连接、内连接、左连接、右连接和自连接等。
三、试验方法
1、在企业管理器中,点击菜单“工具”——“SQL Sever查询分析器”,打开查询分析器的窗口。
2、分析器的工具栏上的下拉列表框中,选择“学生选课”数据库。
3、查询分析器的右边窗口中,输入一条T-SQL 语句,查询的结果将在查询分析器右下窗口中显示。
四、实验步骤
1、简单查询实验。用T-SQL语句表示下列操作,在学生选课数据库中实现数据查询操作:
(1)查询计算机系学生的学号和姓名。
(2)查询选修了课程的学生学号。
(3)查询选修101课程的学生学号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同则按学号的升序排列。
实验结果如下:
2、连接查询实验
(1)查询每个学生的情况以及他所选修的课程。
(2)查询学生的学号、姓名、选修的课程名及成绩。
(3)查询选修101课程且成绩为90分以上的学生学号、姓名及成绩。
(4)查询计算机系的所有同学的所有课程的成绩。
(5)查询各个系学生选修101课程的平均成绩。
(6)查询各个系学生选修课程的总门数。
(7)查询每门课的平均分。
(8)查询学校开设的课程总数。
(9)查询选修两门及两门以上课程的学生姓名。
(10)查询经济系且选修课程的最低成绩大于等于60分的学生信息。
(11)查询经济系或者选修课程的最低成绩大于等于60分的学生信息。
实验数据如下:
五、思考题
1、考虑一下影响数据查询和连接速度的因素及提高查询和连接速度的方法。
答:数据的大小,锁或者死锁,查询语句不好,没有优化
方法:根据查询条件,建立索引,优化索引、优化访问方式,消除对大型表行数据的顺序存储,避免相关子查询。
2、组合查询语句是否可以用其他语句代替,有什么不同?
答:可以用连接来代替,连接的效率比较低。
3、使用GROUP BY<分组条件>子句后,语句中的统计函数的运行结果有什么不同?
答:GROUP BY 可将计算控制在组一级。分组的目的是细化聚合函数的作用对象。在一个查询语句中,可以使用任意多个列进行分组。使用GROUP BY 子句时,如果在SELECT的查询列表中包含聚合函数,则是针对每个组计算出一个汇总值,从而实现对查询结果的分组统计。
实验二数据库的操作
实验:
1. 创建一个学生管理数据库,该数据库的主数据文件的逻辑名称是student-data,操作系统文件是student.mdf,大小是2MB,最大是50MB,以1MB的速度增加;该数据库的日志文件的逻辑名称是student-log,操作系统是student.ldf,大小是1MB,最大不受限制
程序:
create database student_data
on primary
(name=student_data,
filename='d:\student.mdf',
size=2MB,
maxsize=50MB,
filegrowth=1MB)
log on
(name=student_log,
filename='d:\student.ldf',
size=1MB)
2. 创建一个公司人事管理数据库,其中在主文件组中包含数据文件file0和file2,文件大小为2mb,最大为不受限制,增长率为10%。次文件组filegroups中包含数据文件file3,文件大小为1mb,最大为20mb,增长为1mb。
程序:
create database cust
on primary
(name=file0_data,
filename='d:\file0.mdf',
size=2MB,
filegrowth=10%),
(name=file2_data,
filename='d:\file2.mdf',
size=2MB,
filegrowth=10%),
(name=file3_data,
filename='d:\file1.mdf',
size=1MB,
maxsize=20MB,
filegrowth=1MB
)
3. 查看所有数据库选项列表
程序:EXECUTE sp_dboption
4. 查看pubs数据库的数据库选项列表
程序:EXECUTE sp_dboption pubs
5.设置数据库pubs的只读选项为真
程序:EXECUTE sp_dboption pubs,’read only’,true
5. 查看jobs表的行数、保留的磁盘空间以及当前数据库中的表所使用的磁盘空间等信息。
程序:
create table jobs
(xm int,
xh int)
EXECUTE sp_spaceused jobs
7. 查看jobs数据库表的信息
程序:
EXECUTE sp_help jobs
实验心得:
通过这次实验,我了解了SQL的功能和作用,学到了更多有关SQL的知识。希望在以后的实验中学到更多的知识。
实验一SQLServer基本使用与数据定义一实验目的1掌握企业管理器及查询的定义方法使用方法2熟悉数据库建模及ER图的画法3掌握S…
实验一SQLServer基本使用与数据定义一实验目的1掌握服务管理器企业管理器及查询分析器基本使用方法2熟悉数据库建模及ER图的画…
SQLServer实验报告学号姓名专业信息管理与信息系统目录实训一数据库的基本操作实训二表实训三数据完整性实训四索引实训五数据查询…
HEFEIUNIVERSITY数据库设计报告题目产品销售系统系别电子信息与电气工程系班级09级电气信息类5班学号090507503…
重庆大学经济与工商管理学院实验报告课程名称数据库原理及应用实验学期20xx年至20xx年第2学期学生所在学院经济与工商管理学院年级…
数据库原理实验报告--------------------------------------------------------…
数据库应用课程设计名片管理系统的设计专业计算机科学与技术杨蓓蕾D计算机1211220xx4135张静林20xx年6月29日学生姓名…
西安科技大学数据库原理及应用课程设计报告题目寄宿学校管理信息系统的设计与实现学院计算机科学与技术学院专业及班级软件工程1202及1…
合肥师范学院实验报告册20xx20xx学年第2学期系别实验课程专业班级姓名学号指导教师计算机学院数据库原理实验一数据库基本操作一实…
实验一SQLServer基本使用与数据定义一实验目的1掌握企业管理器及查询的定义方法使用方法2熟悉数据库建模及ER图的画法3掌握S…
实验一建立数据库班级:姓名:学号:分数:一、实验目的1、理解SQLServer数据库的存储结构;2、掌握SQLServer数据库的…