实验2 单表查询实验.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验2 单表查询实验

实验D02: 单表查询实验 一、实验名称和性质 所属课程 数据库原理 实验名称 单表查询 实验学时 2 实验性质 ?□验证 □综合 ?□设计 必做/选做 ?□必做 □选做 二、实验目的 1.掌握数据的基本检索方法; 2.掌握数据查询的Group by和Order by子句的使用; 3. 掌握聚集函数的使用方法。 三、实验的软硬件环境要求 硬件环境要求: PC机(单机) 使用的软件名称、版本号以及模块: Windows XP下的SQL Server 2000(或 SQL Server 2005) 四、知识准备 前期要求掌握的知识: 数据检索的语句格式: SELECT [ALL|DISTINCT] 目标列表达式列表 FROM 表名或视图名列表 [ WHERE 条件表达式 ] [ GROUP BY 列名1 [ HAVING 条件表达式 ] ] [ ORDER BY 列名2 [ ASC|DESC ] ] 其中,SELECT后的目标列表达式可以是列名、表达式或函数。 GROUP BY子句:对查询结果按指定列的值分组,该属性列值相等的元组为一个组。通常会在每组中作用集函数。 HAVING短语:筛选出只有满足指定条件的组 ORDER BY子句:对查询结果表按指定列值的升序或降序排序 注意:T-SQL语句中关键字不区分大小写 五、实验内容 1.对数据表进行简单检索; 2.对数据表进行排序检索; 3.在检索中使用聚集函数; 六、验证性实验 先选择要操作的数据库,用T-SQL命令: USE STUDENT 或在工具栏的当前数据库中选择STUDENT, 图2-1 以下查询要求在逐个语句执行,执行后将执行结果记录下来: 无条件查询全部数据 在SELECT关键字后指明要检索的列名 (1) 查询S表的学生学号和姓名 (2) 查询S表中的系部名 (3)查询S表中不重复的系部名 改变列标题的检索 使用空格形式: 列名 新标题 使用“AS”形式,列名 AS 新标题 使用(列名/表达式)新标题形式 有条件选择的查询 在S表检索“信息系”的学生信息 在S表中检索姓“王”的学生信息 在SC表检索’C01’选修课成绩为空的选课记录 检索年龄为21,18,22的学生学号、姓名 Age IN {21,18,22}表示某条记录的AGE字段值是否是集合{21,18,22}中的元素,如是,则选择。它等价于下面语句: 使用聚集函数 (1)查询选课表中最高分、平均分、最低分 (2)查询“C01”课程的最高分、平均分和最小成绩。 对检索结果进行排序 进行分组统计: (1)查询各学生的选课数 (2)使用HAVING 字句:“选课表”中查询选修了3 门以上课程的学生学号。 (3)“选课表”中按学号分组汇总学生的平均分,并按平均分的降序排列。 (4)析下面两个SELECT语句执行结果,说明有什么不同? 在ORDER BY字句后带COMPUTE 字句 (1)按学号对不及格的成绩记录进行汇总。 (2)按学号对不及格的成绩记录进行明细汇总(即根据排序结果进行分组汇总) 七、设计性实验 1.实验要求 (1)查询计算机系学生的学号和姓名。 (2)查询选修了课程的学生学号。 (3)查询选修C01 课程的学生学号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同则按学号的升序排列。 (4)查询每门课程的平均分。 (5)查询学校开设的课程总数。 (6)查询选修两门及两门以上课程的学生学号。 (7)查询年龄在20-22之间的男生的学号、姓名、系部。 (8)查询选修‘C01’课程的学生人数。 2.实验报告要求 (1)写出验证性实验的执行结果 (2)用T-SQL完成设计性实验并写出执行结果 (3)完成以下思考题: 3.思考题 (1)使用ORDER BY子句后SELECT后的数据列有什么限制吗?使用GROUP BY 呢? (2)执行select max(grade) from sc, 写出执行结果;执行 select sno, max(grade) from sc group by sno,写出执行结构。思考:使用GROUP BY分组条件子句后,语句中的统计函数的运行结果有什么不同? 工作数据库

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档