资源描述:
《实验五 视图和查询》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验五查询和视图一、实验目的1.掌握SQL语句的定义功能和数据操作功能。2.掌握SQL语句的查询功能,包括连接查询,内外嵌套查询,带计算的查询等。3.掌握利用设计器创建和使用查询。4.掌握利用设计器创建和使用本地视图。二、实验准备和要求1.本实验要用到实验四建好的学生管理数据库(xsgl.dbc)中的学生情况表、课程表和成绩表(xsqk.dbf,kc.dbf,cj.dbf),可以从天空教室下载,下载完毕把该数据库所在的文件夹设为默认目录。2.作业提交要求:SQL命令直接在实验指导文档中写出,用查询和视图设计器做的查询和视图和实验指导文档一同打包上传。三、实验内
2、容与步骤1.SQL的定义功能(1)用SQL的定义命令创建一个职工表(文件名为:zg.dbf),表结构如下所示。字段名类型宽度小数点职工号C4姓名C8性别C2出生日期d工资N72命令:CREATTABLEzg("职工号"C(4),"姓名"C(8),"性别"C(2),"出生日期"D,"工资"N(7,2))答案:createtablezg(职工号c(4),姓名c(8),性别c(2),出生日期d,工资n(7,2)(2)修改上题创建的zg表。①增加“职称”字段,类型为字符型,宽度为6。命令:ALTERTABLEzgADDCOLUMN"职称"C(6)答案:altertab
3、lezgadd职称c(6)②删除“出生日期”字段。命令:altertablezgdrop"出生日期"答案:altertablezgdrop出生日期③把“性别”字段的类型改为逻辑型。命令:ALTERTABLEzgALTER"性别"L答案:altertablezgalter性别l④把“工资”字段改名为“实发工资”。命令:altertablezgrename"工资"to"实发工资"答案:去掉引号2.SQL的操作功能①给课程表(kc)插入一条记录("2001","英语精读",2,"")。命令:insertintokc("课程号","课程名","学分","先修课")va
4、lues("2001","英语精读",2,"")答案:insertintokc(课程号,课程名,学分)values(“2001”,”英语精读”,2)②给女同学的入学分数增加10分。(提示:用Update命令)。命令:updatexsqkset入学分数=入学分数+10where性别=”女”③把课程号为“1003”的学分改为4分。(提示:用Update命令)。命令:updatekcset学分=4where课程号="1003"④给成绩表(cj)中不及格成绩的数据加上删除标记。查看是否执行,再去掉删除标记。命令:deletefromcjwhere"成绩"<"60"答案
5、:去掉引号Recallall3.SQL语言的查询功能(1)简单查询①查询所有男同学的个人记录。命令:select*fromxsqkwhere性别="男"②查询所有同学的学号、姓名、性别、专业、年龄和入学分数。命令:select学号,姓名,性别,专业,2012-year(出生日期)as年龄,入学分数fromxsqk③查询成绩表中不重复同学的学号(即去掉重复的学号)。(提示:用Distinct短语)命令:selectdistinct学号fromcj(2)条件查询①查询“计算机科学”专业男同学的信息。命令:select*fromxsqkwhere专业="计算机科学"
6、and性别="男"②查询1988年出生的“工业工程”专业同学的学号、姓名、性别、高考分数和出生日期信息。命令:select学号,姓名,性别,入学分数,出生日期fromxsqkwhereyear(出生日期)=1988and专业="工业工程"或select学号,姓名,性别,入学分数,出生日期fromxsqkwhere出生日期between{^1988-01-01}and{^1988-12-31}and专业="工业工程"(3)对查询结果进行排序。①查询“市场营销”专业入学分数前3名同学的情况。命令:select*fromxsqkwhere专业="市场营销"top3o
7、rderby入学分数②查询所有男同学,并且是1988年出生的学生情况,要求查询结果按专业升序、入学分数降序排列。命令:select*fromxsqkwhere性别="男"andyear(出生日期)=1988orderby专业asc,入学分数desc(4)使用分组统计函数①统计输出每个同学各门课程的期末考试最高分、最低分和平均分并按平均分降序排序。(提示:按“学号”分组)命令:select学号,max(成绩)as最高分,min(成绩)as最低分,avg(成绩)as平均分fromcjorderby平均分descgroupby学号②统计输出各门课程的人数和期末考试各
8、门课程的最高分、最低分和平均分并按最高