您好,欢迎访问三七文档
第三章查询第一节认识查询第二节创建选择查询第三节创建交叉表查询第四节创建参数查询第五节创建操作查询第六节创建SQL查询本章考点第一节认识查询一、什么是查询二、查询的功能三、查询的分类四、查询的视图一、什么是查询查询是能够将存储于一个或多个表中符合要求的数据挑选出来,并对挑选的结果按照某种规则进行运算的对象。二、查询的功能1.选择字段;2.选择记录;3.数据集中;4.实现计算;5.编辑记录;6.建立新表;7.作为其它数据库对象的数据源。三、查询的分类1.选择查询:根据某规则选取表中数据,并对选取的数据进行简单计算。2.交叉表查询:对表中数据进行分类并显示分类后某数据的明细值。3.操作查询:自动执行对表中数据进行某个特定功能的操作。4.参数查询:在执行时临时指定查询条件。5.SQL查询:通过直接输入SQL语句创建的查询。四、查询的视图显示查询的不同内容的窗口。1.设计视图:用于设计(创建和编辑)查询。2.数据表视图:以表的形式显示查询执行的结果。3.SQL视图:用于查看或编辑查询时所用到的SQL语句。第二节创建选择查询1.无条件选择查询2.有条件选择查询3.查询准则4.计算型选择查询1.无条件选择查询将表中某些字段的内容挑选出来。若查询字段只来源于一个表,则属于典型的投影运算,否则就是联接运算。主要有以下两种创建方法:(1)查询向导(2)设计视图(1)查询向导例1:查询学生年龄,要求只显示学生编号、姓名和年龄,查询名L01。①启动简单查询向导:新建→简单查询向导(或双击使用向导创建查询);②指定数据源(学生表)及字段(学生编号、姓名、年龄);③指定查询标题(L01)。学生练习:查询教师职称信息,要求显示老师编号、名字和职称,查询名为L001举例:例2:查询学生的选课成绩,要求只显示学生编号、姓名、所选课程名和成绩,查询名L02。注意:若查询数据源为多个表,则多个表之间必须已建立关系。学生练习:查询学生的选课成绩,要求显示学生编号、姓名、老师编号和成绩,查询名为L002(2)设计视图例3:查询学生年龄,显示学生编号、姓名和年龄,年龄升序排序,查询名L03。①打开查询设计视图:新建→设计视图(或双击在设计视图中创建查询);②显示表中选择数据源;③字段行指定查询字段(三种方法:拖动,双击,选择),排序行指定排序方式;④保存并指定查询名称。学生练习:查询选课表中的课程名称、课程类别和学分,学分按降序排序,查询名L003举例:例4:查询学生选课情况,显示学生编号、姓名、所选课程编号、课程名、课程类别和学分,查询名L04。注意:字段列表中的“*”表示所有字段学生练习:查询教师任课情况,显示老师编号、名字、所教课程编号、课程名字、课程类别和学分,查询名为L0042.有条件选择查询将表中符合条件的记录的某些字段挑选出来。只能用设计视图创建,需设置查询条件。查询条件在“条件”和“或”行中设置。举例:例5:查询女学生年龄信息,显示学生编号、姓名和年龄,年龄降序排序,查询名L05。注意:“显示”行作用指定所选字段是否在查询结果中显示。学生练习:查询女教师职称信息,显示老师编号、名字和职称,职称按升序排序,查询名为L005例6:查询选修“数据结构”并及格的学生成绩信息,显示学生编号、姓名和成绩,成绩升序排序,查询名L06。学生练习:查询选修“高数”并不及格的学生成绩信息,显示学生编号、姓名和成绩,成绩升序排序,查询名L006。举例:例7:查询18和23岁的学生信息,查询名L07。注:多个条件是逻辑“与”的关系时只在“条件”行设置,是“或”的关系时分别在“条件”和“或”两行设置。学生练习:查询职称是教授或者副教授的老师信息,查询名L0073.查询条件用来从表中选取所需记录的限制条件,又称查询条件,一般是一个表达式,称为条件表达式。条件表达式是一个由运算符、数据和函数组合而成且能够计算出一个结果的式子。1)数据的表示2)Access运算符3)Access内部函数1)数据的表示(1)数字型:直接表示。例:28、-3.287(2)文本值:用双引号()或单引号(')括起。例:陈江川、'男'(3)日期型:用#括起来。例:#2006-10-25#例如:查询2008年9月1日入校的学生信息。(4)是否型:真为True/On/Yes,假为False/Off/No。例如:查询团员的信息。(5)空值:isNull非空值:isNotNull例如:查询无职称的教师信息。(6)对象名和字段名:用方括号([])括起,且对象名与字段名用感叹号(!)分隔。例:[年龄]、[学生]![姓名]2)Access运算符运算符是表达式的灵魂,系统主要提供了以下几类运算符:(1)算术运算符(2)文本运算符(3)日期运算符(4)比较运算符(5)逻辑运算符(6)特殊运算符(1)算术运算符+、-Modmod(10,3)=1mod(4,2)=0mod(2,3)=2\*、/-(取负)^2^3=8(2)文本运算符即字符串运算符,将两个字符串连接成一个字符串又称字符串连接运算符,共有两个:+、&。+要求两个运算量必须是文本型&会将非文本型运算量转换为文本型。例:“计算机”+“原理”结果:“计算机原理”“年龄:”&23结果:“年龄:23”(3)日期运算符由日期运算符(+、-)构成的表达式称为日期表达式,主要有两种格式:格式一:日期±整数结果是该日期整数天前或后的新日期格式二:日期–日期结果是两日期相隔的天数(4)比较运算符比较运算符是判断两个数据间的某种关系是否成立,又称关系运算符。、=、、=、=、(不等于)关系表达式结果为是否型(逻辑型)。例8:查询1990年以前参加工作的教师信息,查询名L08。(4)逻辑运算符运算量为是否型,常用的逻辑运算符:and(与)两侧都为真,结果为真23and24or(或)一侧为真结果就为真23or24not(非)逻辑取反逻辑表达式运算结果为是否型(逻辑型)。例9:查询20世纪90年代参加工作的教师信息,查询名L09。例10:查询不是2008年入校的男学生信息,查询名L10。(5)特殊运算符范围匹配:between…and…例:between20and30between#2007-1-1#and#2007-1-31#例11:查询20至22岁女学生信息,要求显示学生编号、姓名、性别、年龄,查询名L11。列表匹配:in(数据列表)例:in(18,20,21,25)in(“教授”,”副教授”,“讲师”)例12:查询18、20、21和23岁的非团员信息,查询名L12。模式匹配:like模式字符串例:like“王*”like“*授”*多个字符,?一个字符例13:查询姓张的教师信息,查询名L13。例14:查询姓名中包含“小”字的教师信息,查询名L14。3)Access内部函数函数是事先设计的一个程序,其功能是对数据进行某种处理,并返回处理的结果。其引用格式:函数名(参数列表)参数是处理的数据常用的系统内部函数有以下几类:(1)数值函数(2)字符函数(3)日期时间函数(1)数值函数绝对值:Abs(数值)平方根:Sqr(数值)符号:Sgn(数值)正数返回1,0返回0,负数返回-1取整:Int(数值)(2)字符函数左子串截取:Left(字符串,数值)例15:查询200803班学生信息,查询名L15。右子串截取:Right(字符串,数值)例16:查询姓名的末尾是“明”字教师信息,查询名L16。子串截取:Mid(字符串,数值1,数值2)例17:查询姓名的第二个字是“小”的教师信息,查询名L17。求字符串长度:Len(字符串)例18:查询姓名只有两个字的教师信息,查询名L18。空格生成:Space(数值)字符重复函数:String(数值,字符串)(3)日期时间函数求系统日期:Date()例19:查询100天之内参加工作的教师信息,查询名L19。求年份:Year(日期)例20:查询工龄超过10年的教师信息,要求显示教师编号、姓名、性别、工作时间查询名L20。求月份:Month(日期)求日份:Day(日期)例21:查询9月1日入校的学生信息,查询名为L21。求星期:Weekday(日期)星期日为第1天(1),星期一为第2天(2)…例22:查询星期二入校的学生信息,查询名为L22。求小时:Hour(日期)4.计算型选择查询能够将挑选出的数据按照某种规则进行统计和计算的查询。(1)总计查询(2)分组总计查询(3)添加计算字段(1)总计查询对表中符合条件的某些字段的值进行计算与统计。需在设计视图中的总计行设置总计项类型。添加总计行方法:视图菜单→合计(或单击合计按钮)。总计项类型:总计平均值最大值最小值计数分组表达式条件第一条记录最后一条记录例23:统计学生人数和平均年龄,查询名L23。重新指定字段标题方法:新标题:原标题例24:统计女学生人数、最大年龄、最小年龄和平均年龄,查询名L24。注意:只用于构成查询条件的字段,其总计方式为条件。(2)分组总计查询根据表中某些字段的值对表中记录进行分类汇总。用于分组字段的“总计”方式设置成“分组”。例25:分别统计男女学生人数,查询名L25。例26:统计选修各门课程的男女学生的人数和平均成绩,查询名L26。注:分组字段可以多个,按从左到右的顺序排定优先级,先按第一分组字段分组,第一分组字段值相同的记录再按第二分组字段分组,依次类推。例27:统计学生的平均成绩,显示姓名、性别和平均成绩,查询名L27。注意:只用于显示其值的字段,总计方式可为第一条记录或最后一条记录。例28:统计各同学修得的总学分,显示学生编号、姓名、总学分,查询名L28。计算字段是表中并不存在的字段,它的值是通过对表中某些字段进行运算而得到的,故其实质是一个表达式。添加方法:在设计视图中的“字段”行中直接添加一个内容为表达式的新字段。新标题:表达式例29:查询一年后学生的年龄,显示学生编号、姓名和新年龄,查询名L29。例30:根据学生年龄,统计学生的出生年,显示姓名和出生年,查询名L30。例31:查询教师工龄信息,要求显示教师编号、姓名和工龄,查询名L31。例32:统计各班学生人数和平均年龄,查询名L32。例33:统计学生最大年龄与最小年龄差值,显示标题为s_data,查询名L33。例34:分别统计各班男女同学的平均成绩,查询名L34。①当数据源为多个表或查询,而计算表达式中的某一字段在多个表中都存在时,引用时必须指定来源于哪个表。例35:分别统计男女学生最大年龄与最小年龄的差值,显示性别和s_data,查询名L35。②表达式中可以包含统计函数,此时该字段的总计方式为表达式。例36:查询学生基本信息,要求姓和名分开显示,显示学生编号、姓、名、性别、年龄,查询名L36。(注:不考虑复姓)例37:查询学生基本信息,要求包含学生编号、姓名、性别、年龄、入校日期和修得的总学分,但结果中只有两个字段为学生基本信息和总学分,查询名L37。第三节创建交叉表查询1.交叉表的功能2.使用向导创建3.使用设计视图创建1.交叉表的功能将来源于某个表中的字段进行分组,一组列在数据表的左侧,一组列在数据表的上部,然后在数据表行与列的交叉处显示表中某个字段的各种计算值。创建时,需指定三种字段:行标题字段(左侧)列标题字段(上部)总计项字段(行列交叉处)2.使用向导创建例38:统计不同年龄男女学生人数的交叉表查询,查询名L38。(1)新建→交叉表查询向导;(2)选择数据源;(3)分别确定行标题字段、列标题字段和总计项字段及总计函数;(4)指定查询名称。注意:该方法只能创建单数据源的交叉表查询。3.使用设计视图创建例39:统计不同年龄男女学生人数的交叉表查询L39。①设计视图选数据源;②字段行添加行标题、列标题和总计项字段;③添加交叉表和总计行(查询菜单→交叉表查询或查询类型按钮→交叉表查询);④总计行中行标题和列标题字段的总计方式为分组,总计项为一统计函数;⑤交叉表行设置行标题、列标题和总计项字段的相应值为行标题、列标题、值;⑥保存指定查询名。例40:统计各个班级选修各门课程的人数,查询名L40。注意:行标
本文标题:第三课查询
链接地址:https://www.777doc.com/doc-2183967 .html