资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,本幻灯片资料仅供参考,不能作为科学依据,如有不当之处,请参考专业资料。,ACCESS查询教程,(包含惯用函数),第1页,1,查询是关系数据库中一个主要概念,利用查询能够让用户依据选择条件对数据库进行检索,筛选出一组满足指定条件统计,从而组成一个新数据集合,以方便用户对数据库进行查看和分析。,第2页,2,本章主要内容:,查询功效与类型,查询对象创建与设计方法,操作查询及SQL查询方法,使用查询操作表或表数据,第3页,3,查询对象以一个或多个表及其它查询对象为基础,重组并加工这些表及查询对象中数据,提供一个新数据集合。,第4页,4,3.1.1 查询对象功效,1选择字段,2选择统计,3.编辑统计,4.实现计算,5.利用查询结果生成窗体或报表,6建立新表,第5页,5,3.1.2 查询对象类型,1.选择查询,2.参数查询,3.交叉表查询,4.操作查询,5.SQL 查询,第6页,6,1.选择查询,选择查询是最常见查询类型,它是按照规则从一个或多个表,或其它查询中检索数据,并按照所需排列次序显示出来。以下表数据起源于“学生信息”、“选课信息”及“课程信息”3个表,第7页,7,2.参数查询,参数查询能够在执行时显示自己对话框,提醒用户输入信息。它不是一个独立查询,只是在其它查询中设置了可改变参数。以下列图查询对象数据源是“学生信息”表,运行查询时需输入查询参数。,第8页,8,3.交叉表查询,使用交叉表查询能够计算并重新组织数据结构,这么能够愈加方便地分析数据,以下表所表示。,数据源表,交叉表查询对象,第9页,9,4.操作查询,使用操作查询只需进行一次操作,就能够对许多统计进行更改和移动。操作查询有以下4种:,删除查询:,能够从一个或多个表中删除一组统计。,更新查询:,能够对一个或多个表中一组统计做 全局更改。,追加查询:,能够将一个或多个表中一组统计添 加到一个或多个表末尾。,生成表查询:,能够依据一个或多个表中全部 或部分数据新建表。,比如,能够使用删除查询来删除全部毕业学生统计。,比如,能够将某一工作类别人员工资提升 5 个百分点。,比如,假设用户取得了一些新客户以及包含这些客户信息数据表。若要防止在自己数据库中键入全部这些信息麻烦,能够利用“追加查询”将其追加到“客户”表中。,第10页,10,5.SQL 查询,SQL(Structure Query Language)是一个结构化查询语言,是数据库操作工业化标准语言。,可使用SQL查询、更新和管理任何数据库系统。,用户在设计视图中创建查询时,Access将在后台结构等效SQL语句。,只能在SQL视图中创建查询,称为“特定查询”,包含:,传递查询:,传递查询能够直接向 ODBC 数据库服务器发送命令,联合查询:,联合查询可使用 Union 运算符来合并两个或更多项选择择查询结果,数据定义查询:,利用数据定义语言(DDL)语句创建或更改数据库中对象。,第11页,11,3.1.3 查询视图,设计视图:,设计视图就是查询设计器,经过该视图能够设计除SQL查询之外任何类型查询。,数据表视图:,数据表视图是查询数据浏览器,是一个动态统计集。,SQL视图:,SQL视图是按照SQL语法规范显示查询,即显示查询SQL语句,此视图主要用于SQL查询。,数据透视表视图和数据透视图视图:,在这两种视图中,能够更改查询版面,从而以不一样方式观察和分析数据。,注意,:,经过选择“视图”菜单中对应选项(或点击工具栏中“视图”图标下拉按钮,在下拉表中选择对应选项),可实现在5种视图间转换。,第12页,12,3.1.4 查询准则,用户查询经常需要指定一定条件,这就需要设置准则来实现。查询准则也称为查询条件,是运算符、常量、字段值、函数以及字段名和属性等任意组合,能够计算出一个结果。,1准则中运算符及表示式,算术运算符,运算符,功 能,表示式举例,含义,+,加法运算,小计+销售税,求两个字段值和,-,减法运算,或表示负值,价格-折扣,求两个字段值差,*,乘法运算,数量*价格,求两个字段值乘积,/,除法运算,总计/数据项计数,求平均值,整除法,1216,结果为20,Mod,整除取余数,121 Mod 6,结果为1,指数运算,53,计算5立方,第13页,13,关系运算符,用关系运算符连接两个表示式组成关系表示式,结果为一个逻辑值True、False或者Null,运算符,功 能,表示式举例,含义,小于,#-3-10#,-3-10之前日期,=,小于等于,大于,234,大于234数,=,大于等于,=#-3-10#,-3-10当日或之后日期,=,等于,=,HALL,值为HALL,不等于,100,不等于100,第14页,14,连接运算符,能够使用连接运算符将两个文本值合并成一个值。,运算符,功能,表示式举例,结果,&,强制两个表示式作字符串连接,abc,&123,abc123,+,将两个字符串合并为一个字符串,abc,123,abc123,逻辑运算符,逻辑运算符用于连接两个关系表示式,对表示式进行真、假判断。,运算符,功能,表示式举例,含义,Not,逻辑非,性别=Not,男,查找女性统计,And,逻辑与,性别=,女,And 职称=,教授,查找女教授,Or,逻辑或,职称=讲师 or 职称=试验师,查找职称为讲师或试验师统计,第15页,15,特殊运算符,与比较运算相关,这些运算符依据字段中值是否符合这个运算符限定条件返回True或False。,Like:查找匹配文字,可与以下4 个通配符配合使用:“*”匹配0或多个字符,“?”匹配一个字符,“#”匹配一个数字,“”匹配一个字符范围。,如:like“李*”,指姓李名字。,In:指定一系列值列表,如:In(”山东”,”浙江”,”安徽”)。,Between a1 and a2:指位于a1 和a2之间值(包含端值),如:Between 75 and 90。,Is Null、Is Not Null:判断某一值是否为Null值字段,即不包含任何数据,为空值。,第16页,16,?:代表任意一个字符,*:代表任意字符串(0或多个字符),:代表单一数字,字符表:字符表中单一字符,!字符表:不在字符表中单一字符,【例】Like“pb-g#”,通配以字母p开头,后根bg之间1个字母和3个数字字符串。,【例】Like“f?a-f!6-10*”,通配第一个字符为f,第2个为任意字符,第3个为非6-10任意字符,其后为任意字符串字符串。,补充-,通配符,第17页,17,1准则中标准函数,惯用统计函数,求和函数:Sum(),求平均函数:Avg(),统计统计个数函数:Count(),最大、最小值函数:Max(),Min(),比如:,显示“运费”字段中各值总和,即为Sum(运费);Avg(运费)为平均运费;显示“单价”字段和“数量”字段乘积总和,即为Sum(单价*数量);按姓名统计人数,即为Count(姓名);统计包含空值Null在内全部统计数为Count(*);设有一个“成绩”字段,能够用Max(成绩)求该字段中最大值,用Min(成绩)求该字段中最小值。,第18页,18,1准则中标准函数,日期函数,在包含日期表示式中,须将日期型数据两端加上“”号(此处#不是通配符),以区分于其它数字。,比如:1990年1月2日以后出生学生,表示式可为:#1990/1/2#或#/1/2/1990#。另外,系统还提供了以下时间函数:,Date():返回系统当前日期,Year():返回日期中年份,Month():返回日期中月份,Day():返回日期中日数,Weekday():返回日期中星期几,Hour():返回时间中小时数,Now():返回系统当前日期和时间,第19页,19,【例】时间函数应用,1.结构查询条件表示式,把7月份出生学生查找出来。,Month(csrq)=7,2.结构计算表示式,依据出生日期计算学生年纪。,Year(Date()-Year(出生日期),3.结构表示式,表示出系统日期10天前日期。,Date()-10,说明:在任何计算表示式中符号都必须在英文半角输入状态下输入,不然无效。,出生日期,和,csrq,为字段标识符,方括号内是字段名。假如要明确表示“学生信息”表中“出生日期”字段,表示式为:,学生信息!出生日期,第20页,20,3.2 创建选择查询,选择查询是最惯用查询类型,它从一个或多个表中检索数据,并以表格形式显示这些数据。,3.2.1 使用“简单查询向导”创建查询,【例3-1】以“教学管理”数据库中“学生信息”表、“课程信息”表和“选课信息”表为数据源,利用向导创建学生成绩明细查询如图所表示。,第21页,21,【例3-2】利用“简单查询向导”向导创建院系成绩汇总查询。在“教学管理”数据库中,利用“学生信息”表、“选课信息”表和“课程信息”表中相关字段,创建各院三门课程成绩汇总如图所表示。,第22页,22,3.2.2 在设计视图中创建查询,1.认识查询“设计”视图,组件,设计视图,查询类型 运行 显示表 总计 上限值 属性 生成器 数据库 新对象,视图,设计工具栏,查询显示区,查询设计区,第23页,23,2创建查询,在查询“设计”视图中创建查询,首先应在打开“显示表”对话框中选择查询所依据表或查询,并将其添加到查询“设计”视图窗口中,假如选择多个表,多个表之间应先建立关联。,【例3-3】经过多个表创建选择查询。在“教学管理”数据库中,利用“学生信息”表、“选课信息”表和“课程信息”表创建一个含有“学号”、“姓名”、“课程名称”和“课程成绩”字段查询,查询条件是“土建学院”,按“学号”升序排序。,第24页,24,3.2.3 在查询中进行计算,查询对象还能够对数据进行分析和加工,生成新数据与信息。生成新数据普通经过计算方法,惯用有求和、计数、求最大最小值、求平均数及表示式等。,1了解查询计算功效,预定义计算:,即所谓“总计”计算,用于对查询中统计组或全部统计进行以下数量计算:总和、平均值、计数、最小值、最大值、标准偏差或方差。,自定义计算:,使用一个或多个字段中数据在每个统计上执行数值、日期或文本计算。对于这类计算,需要直接在查询设计区中创建新计算字段,方法是将表示式输入到查询设计区中空“字段”单元格中。,第25页,25,2总计查询、分组总计查询,建立总计查询时需要在查询“设计”视图中单击工具栏上【累计】按钮,Access将在查询设计区中添加“总计”组件,然后在“总计”行单元格中,可列出“分组”、“总计”、“平均值”等选项。,【例3-4】在“教学管理”数据库中,利用“学生信息”表统计男女生人数。,第26页,26,4添加计算字段,当要统计数据在表中没有对应字段,或者用于计算数据来自于多个字段时,应该在“设计网格”中添加一个计算字段。计算字段是指依据一个或多个表中一个或多个字段,并使用表示式建立新字段。,【例3-5】分别统计各个学院各门课程平均成绩。,第27页,27,3.4 创建参数查询,参数查询是一个能够重复使用查询,每次使用时都能够改变其准则。,每当运行一个参数查询时,都会显示一个对话框,提醒用户输入新准则。,将参数查询作为窗体、报表和数据访问页基础是非常方便。,设置参数查询在很多方面类似于设置选择查询。能够使用“简单查询向导”,先从要包含表和字段开始,然后在“设计”视图中添加查询条件;也能够直接到“设计”视图中设置查询条件。,第28页,28,3.4.1 单参数查询,【例3-7】建立一个查询,显示任意月份出生教师编号、姓名及职称。,首先创建包含所需显示字段简单查询,在设计视图中添加查询条件,设置查询参数数据类型,第29页,29,3.4.2 多参数查询,一个参数可视为一组条件,若想针对多组条件设置查询,可创建“多参数查询”。,【例3-8】以“学生信息”表、“课程信息”表和“选课信息”表为数据源,查询某门课程和某个分数段学生成绩情况,。,第30页,30,第31页,31,3.5 创建操作查询,操作查询用于对数据库进行复杂数据管理操作,用户能够依据自己需要利用查询创建一个新数据表以及对数据表中数据进行增加、删除和修改等操作。,操作查询不像选择查询那样只是查看、浏览满足检索条件统计,而是能够对满足条件统计进行更改。,操作查询共有4种类型:生成表查询、更新查询、追加查询和删除查询。,全部查询都将影响到表,其中,生成表查询在生成新表同时,也生成新表数据,而删除查询、更新查询和追加查询只修改表中数据。,第32页,32,创建操作查询步骤:,1.创建简单查询或参数查询,2.单击工具栏【查询类型】按钮,从下拉菜单中选择所需操作查询类型。,3.切换到“数据表”视图预览查询结果。,4.确认预览结果无误后,切换到查询“设计”视图,单击工具栏【运行】按钮执行查询。,5.保留设计结果。,第33页,33,3.5.1 生成表查询,运行“生成表查询”能够使用从一个或多个表中提取全部或部分数据来新建表,【例3-9】以“课程信息”表为依据,查询课程类型为必修课课程,并生成新表。,第34页,34,3.5.2 删除查询,要使数据库发挥更加好作用,就要对数据库中数据经常进行整理。整理数据操作之一就是删除无用或坏数据。前面介绍在表中删除数据方法只能手动删除表中统计或字段数据,非常麻烦。,删除查询能够经过运行查询自动删除一组统计,而且能够删除一组满足相同条件统计。删除查询能够只删除一个表内统计,也能够删除在多个表内利用表间关系相互关联表间统计。,【例3-10】创建一个删除查询,删除“教师信息”表中学历为“专科生”统计。,第35页,35,3.5.3 更新查询,更新查询用于修改表中已经有统计数据。,创建更新查询首先要定义查询准则,找到目标统计,还需要提供一个表示式,用表示式值去替换原有数据。,【例3-11】创建一个更新查询,将全部土建学院05级学生所属学院改为“土木与建筑学院”。,第36页,36,3.5.4 追加查询,假如希望将某个表中符合一定条件统计添加到另一个表中,可使用追加查询。追加查询可将查询结果追加到其它表中。,【例3-12】设已建立“城南学院学生信息”表,如图3-54所表示。要求创建一个追加查询,将“学生信息”表中城南学院学生信息追加到“城南学院学生信息”表中。,第37页,37,3.6 创建SQL查询(补充),SQL查询视图,第38页,38,数据查询(SELECT语句),数据操纵(INSERT,UPDATE,DELETE语句),数据定义(CREATE,DROP等语句),数据控制(COMMIT,ROLLBACK等语句),SQL语言包含4个部分功效:,第39页,39,CREATE命令,CREATE命令用来创建表、视图或索引,其命令格式为:,Create Table (列完整性约束条件,列完整性约束条件,)表完整性约束条件;,【例】创建一个教师信息表,包含:编号、姓名、职称、出生日期、简历等字段。其中,编号字段为主索引字段(不能为空,且值唯一)。,Create Table 职员信息 (编号 char(9)not null unique,姓名 char(9),职称 char(10),出生日期 date,简历 memo);,第40页,40,DROP命令,DROP命令用来删除表、视图或索引,其命令格式为:,Drop Table ;,Drop Index ;,Drop View ;,【例】删除职员信息表。,Drop Table职员信息;,第41页,41,SELECT命令,利用SELECT命令能够结构数据查询语句,其语法结构为:,Select All|Distinct,From,Where,Group By Having,Order By Asc|Desc,语句中各关键词含义为,All(默认):返回全部统计;,Distinct:略去选定字段中重复值统计;,From:指明字段起源,即数据源表或查询;,Where:定义查询条件;,Group By:指明分组字段,Having:指明分组条件;,Order By:指明排序字段,Asc|Desc:排序方式,升序或降序。,第42页,42,【例】从学生成绩表中,查询出“土建学院”全体学生统计,结果按照学号升序排序。,Select All *From 学生信息,Where 所属院系=土建学院,Order By 学号 Asc,假如本例条件改为,查询出“土建学院”男生统计,两个条件并列,则语句应为:,Select *,From 学生信息,Where 所属院系=土建学院 and 性别=男,Order By 学号 Asc,假如本例条件改为,查询“土建学院”中全体学生统计,显示出他们学号、姓名和各科成绩,则语句应为:,Select 学生信息.学号,学生信息.姓名,课程信息.课程名称,选课信息.课程成绩,From 学生信息,课程信息,选课信息,Where 选课信息.学号=学生信息.学号 and 课程信息.课程编号=选课信息.课程编号 and 所属院系=土建学院,Order By 学生信息.学号 Asc,第43页,43,INSERT 命令,经过该命令能够向数据表中插入新统计,。,【例】向“课程信息”表中插入一条新纪录。,Insert,Into 课程信息,Values(5555,中国武术,必修课,1,16);,UPDATE 命令,经过该命令能够修改数据表中数据。,【例】修改“课程信息”表中数据,将课程“中国武术”改为“中国散打武术”。,Update 课程信息,Set 课程名称=中国散打武术,Where 课程名称=中国武术,第44页,44,本章小结,查询实际上就是将分散存放在表中数据按一定条件重新组织起来,形成一个动态数据统计集合;而这个统计集在数据库中并没有真正存在,只是在运行查询时从查询源表数据中创建,数据库只是保留查询方式,当关闭查询时,动态数据集会自动消失。但正是这个特征提供了查询灵活方便数据操纵能力。,第45页,45,复习提问,1,第46页,46,
展开阅读全文