资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级韦绍杰,*,跟我学,Access,查询,马上开始.,菜单,考试要求,退出,查询分类,(1)选择查询。(2)参数查询。(3)交叉表查询。,(4)操作查询。(5),SQL,查询。,创建查询,(1)使用向导创建查询。(2)使用设计器创建查询。,(3)在查询中计算。,查询准则,(1)运算符。(2)函数。(3)表达式。,4 操作已经创建查询,(1)运行已创建的查询。(2)编辑查询中的字段。,(3)编辑查询中的数据源。(4)排序查询的结果。,本章授课内容,退出,3.2 创建选择查询,3.1 认识查询,3.3 在查询中进行计算,3.4 创建交叉表查询,3.5 创建参数查询,3.6 创建操作查询,3.7 创建,SQL,查询,3.8 操作已创建查询,3.1 认识查询,3.1.1 查询的功能,3.1.2 查询的准则,3.1.3 建立查询准则,3.1.1 查询功能,1.,选择字段,2.,选择记录,3.,编辑记录,4.,实现计算,5.,建立新表,6.,建立基于查询的报表和窗体,查询和查找的区别,查找只能够找到符合我们需要的一个值,而查询可以找到符合我们需要的一条或者多条记录,查询的结果是以二维表显示。,3.1.2 查询的类型,1.选择查询:,根据指定的查询准则,从一个或者多个表中获取数据并显示结果的一种最常见的查询方式。,例如,建立一个查询,要找到“1992年参加工作的男教师”,查询结果如下图:,3.1.2 查询的类型,2.交叉表查询:,将来源于某个表的字段进行分组,一组在数据表左侧,一组在数据表上部,然后在数据表行与列的交叉处显示表中某个字段统计值。,建立一个查询,要统计“各个系男女教师的人数”,查询结果如下图:,例如,3.1.2 查询的类型,3.参数查询:,用对话框来提示用户输入准则的查询,这种查询可以根据用户输入的准则来检索符合相应条件的记录。,建立一个查询,要查看“某一个学生的考试成绩”,查询结果如下图:,例如,3.1.3 建立查询准则,1.准则中的,运算符,(,p103,表3.1,3.3),关系运算符:,=、=。,逻辑运算符:,And、,Or、Not,特殊运算符:,In、Between、Like、Is,null、Is,not null。,In:,用于指定一个字段值的列表,列表中的任意一个值都可以与查询的字段相匹配。,Between:,用于指定一个值的范围。指定的范围之间用,And,连接。,Like:,用于指定查找文本字段的字符模式。可以用?、*、#、,通配符。,Is null:,用于指定一个字段为空。,Is not null:,用于指定一个字段为非空。,3.1.3 建立查询准则,2.准则中的,函数,(,p104,表3.4,3.7),1,.数值函数:,Abs()、Int()、Sqr()、Sgn(),等。,2.字符函数:,Space(),、,String(),、,Left()/Right()、Len()、Ltrim(),、,Rtrim(),、,Mid(),等。,例如:,3.日期时间函数,:,Day(date)、Month(date)、Year(date)、Weekday(date)、Hour(date)、Date(),等。,例如:,4.统计函数,:,Sum()、Avg()、Count()、Max()、Min(),等。,例如:,3.1.3 建立查询准则,3.使用,文本值,作为准则(,p106,表3.8,),字段名,准则,功能,职称,“教授,”,查询职称为“教授”记录,职称,“教授”,or“,副教授,”,查询职称为教授或副教授记录,课程名称,Like“,计算机,*,”,查询课程名称以“计算机”开头,姓名,In(“,李元”,“王朋”),或,“,李元”,or“,王朋”,查询姓名是,“,李元”或者“王朋”记录,姓名,Not“,李元”,查询姓名不是“李元”的记录,姓名,Not“,王*”,查询姓名不是姓“王”的记录,姓名,Left(,姓名,1)=“王”,查询姓名是姓“王”的记录,简历,Right(,简历,2)=“顺义,”,查询简历最后两个字为“顺义”,学生编号,Mid(,学生编号,3,2)=“03”,学生编号的3、4个字符为03记录,3.1.3 建立查询准则,4.使用,处理日期结果,作为准则,(,p106,表3.9),字段名,准则,功能,工作时间,Between#92-01-01#And#92-12-31#,查询,92,年参加工作的职工,工作时间,=#1992-1-1#And=#1992-12-31#,或,Between#1992-1-1#And#1992-12-31#,或,year(,工作时间,)=1992,3.2.2 创建带条件的查询,查找1992年参加工作的教师或者男教师,并且显示“姓名”、“性别”、“学历”、“职称”、“系别”和“联系电话”字段,例 3.5,3.3 在查询中进行计算,3.3.1 了解查询计算功能,3.3.2 总计查询,3.3.3 分组总计查询,3.3.4 添加计算字段,3.3.1 了解查询计算功能,计算机查询的必要性:,比如说,要查询学生的平均成绩或者总分成绩,很明显,在我们设计的任何一个数据表中都没有平均分或者总分这两个字段,因此,我们要用到查询计算。,在,Access,中,可以执行很多类型的计算,一般包括:,总和、平均值、计数、最大值、最小值、标准偏差和方差,等,还可以使用用户自定义计算,,3.3.2 总计查询,总计查询就是在成组的记录中完成一定的计算功能,在设计视图中的“总计”行实现。,例3,.6,统计教师人数,例3.7 统计1992年参加工作的教师人数,Where,指定的字段不能出现在查询结果中,3.3.3 分组总计查询,分组总计,就是对一个字段进行分组,然后再总计,分组字段的“,总计,”行设置成“,Group by,”。,例3.8,统计“教师表”中各类职称的教师的人数.,3.3.4 添加计算字段,前面查询的字段都是在数据表中存在的字段,但是有时候我们需要查询某个字段在数据表中不存在,那么就得用,添加计算字段查询,比如求学生成绩,平均分,或者,总分,等。,例3.9,统计“教师表”中各类职称的教师的人数,要求显示“职称”、“人数”字段。,3.3.4 添加计算字段,例3.10,查找平均分低于所在班级平均分的学生并且显示其“班级号”、“姓名”、“平均成绩”。假设“学生编号,”,前四位数表示班号。,3.4 创建交叉表查询,3.4.1 认识交叉表查询,3.4.2 创建交叉表查询,3.4.1 认识交叉表查询,所谓的交叉表查询,就是将来源于某一个表(数据表或者查询表)中的字段进行分组,一组在数据表的左侧,一组在数据表的上部,行与列交叉处显示某个字段的计算值。,3.4.2 创建交叉表查询,创建交叉表查询的方法:,使用交叉表向导,使用查询设计视图,例3.11,在“教学管理”数据库中创建统计每个系别男女教师人数的交叉表查询(用向导),思考:如何创建统计每班男女生人数的交叉表查询,3.4.2 创建交叉表查询,例3.12,在“教学管理”数据库中创建显示每名学生每门课的成绩的交叉表查询(用设计器),3.5 创建参数查询,3.5.1 单参数查询,3.5.2 多参数查询,3.5.1 单参数查询,单参数查询就是在字段中指定一个参数,在执行参数查询的时候,用户再输入一个参数值.为了在运行时让系统出现对话框,务必在条件中使用,符号,例3.13,用学生选课成绩为数据源,建立一个查询,显示某学生所选课程的成绩。,3.5.2 多参数查询,例3.14,建立一个参数查询,显示某一个班级某一门课程的“学生”和“成绩”,3.6 创建操作查询,3.6.1 认识操作查询,3.6.2 生成表查询,3.6.3 删除查询,3.6.4 更新查询,3.6.5 追加查询,3.6.1 认识操作查询,操作查询是在一个操作中更改许多记录的查询。,操作查询主要包括生成表、删除、更新、追加查询。,操作查询与其他查询区别:,生成表查询,就利用查询的结果创建一个新表。,删除查询,就是删除一个或者多个表中的一组记录。,更新查询,是对一组记录进行全部更新。,追加查询,就是将查询得到的一组记录添加到一个或者多个表的尾部。,简单查询、交叉表查询、参数查询都是从表中选择需要的数据,并不能对表中数据进行修改。而操作查询除了从表中选择数据外,还能对表中的记录进行修改,由于是对数据的修改,为了避免进行误修改操作,每一个操作查询的图标后面都有感叹号,使用时一定要注意!,3.6.2 生成表查询,例3.15,将成绩在90分以上的学生信息存储到一个新表中。,3.6.3 删除查询,例3.16,将选课成绩低于60分的记录删除。,3.6.4 更新查询,例3.17,将所有1998年以前参加工作的教师的职称改为“副教授”。,3.6.5 追加查询,例3.18,建立一个追加查询,将选课成绩在80-90之间的学生的成绩追加到已经建立的“90分以上学生情况”表中,操作查询 小结:,不管是哪种操作查询,都可以在一个操作中更改许多记录,并且在,执行操作查询后,不能撤消更改操作,。因此,在使用操作查询时应注意:,在执行操作查询之前,,最好单击工具栏上的“视图”按钮 ,,预览即将更改的记录,,如果预览到的记录就是要操作的记录,再执行操作查询,这样可防止误操作。另外,,在使用操作查询之前,应该备份数据,。,3.7 创建,SQL,查询,3.7.1 使用,SQL,修改查询中的准则,3.7.2 创建,SQL,查询,3.7.1 使用,SQL,修改查询中的准则,例3.19,将已经建立的“92年参加工作的,男,教师”查询中的准则改为“92年参加工作的,女,教师”。,3.7.2 创建,SQL,查询,1.,创建联合查询,联合查询就是从一个或者多个表(查询)的字段组合为查询结果的一个字段或者列。,例3.20,显示“90分以上学生情况”表中所有记录和“学生选课成绩查询”中80分以下的记录,显示内容为:,学生编号、姓名、成绩,字段。,SELECT ALL/DISTRINCT*|,FROM,WHERE ,ORDER BY,ASC|DESC,;,SQL,查询分为联合查询、传递查询、数据定义查询和子查询等,4,种。,3.7.2 创建,SQL,查询,2.,创建传递查询,传递查询就是自己并不执行而是传给另外一个数据库来执行的查询。,3.7.2 创建,SQL,查询,3.,创建数据定义查询,利用数据定义查询可以直接创建、删除或者更改表,或者在当前数据库中创建索引。,SQL,语句,用途,CREATE TABLE,创建表,ALTER TABLE,在已有的表中添加新字段或者约束,DROP,从数据库中删除表或者字段或者索引,CREATE INDEX,为字段或者字段组创建索引,数据定义语句及用途,3.7.2 创建,SQL,查询,例3.22,使用,CREATE TABLE,语句创建“学生情况”表。,CREATE TABLE,学生情况,(,学生,ID integer,姓名,text,性别,text,出生日期,date,家庭住址,text,联系电话,text,备注,memo,CONSTRAINT index PRIMARY KEY(,学生,ID);,3.7.2 创建,SQL,查询,4.,创建子查询,例3.2,3,查询并显示“学生”表中高于平均年龄的学生。,作为其他查询准则的查询成为子查询,子查询不能单独使用,利用子查询可以对原有的查询进行进一步查询。,3.8 操作已创建的查询,3.8.1 运行已经创建的查询,3.8.2 编辑查询中的字段,添加字段、删除字段、移动字段,3.8.3 编辑查询中的数据源,添加、删除表或查询,3.8.4 调整查询的列宽,3.8.5 排序查询的结果,This is over!,Thank you,
展开阅读全文