二级access第三章运算符和表达式_第1页
二级access第三章运算符和表达式_第2页
二级access第三章运算符和表达式_第3页
二级access第三章运算符和表达式_第4页
二级access第三章运算符和表达式_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、3.2 运算符和表达式(一) 1、概念:表达式(查询的条件)是运算符、常量、字段值、函数以及字段名和属性等的任意组合。 2、Access中表达式调试方法: “创建”“宏与代码”标签组“Visual Basic”,立即窗口 “数据库工具”“宏”标签组“Visual Basic”,立即窗口 3、表达式中,字符型的数据需用双引号(“)括起来,日期型数据需用(#)括起来,字段需要用( )括起来。 4、常量:一、运算符:有算术运算符、连接运算符、比较(关系)运算符、逻辑运算符1、算术运算符序号序号运算符运算符功能功能优先级优先级示例示例1幂 高32=9 2.32=5.292负数3* /乘 除3*2=6

2、4/2=2 5/2=2.5 4.6/2=2.34整除52=2 5.92=3 3.72=25mod求模(取余)5 mod 2=1 -3.7 mod 2=0 4.7 mod 2=16+ 加 减 低按数学规则运算 说明:1)括号优先级最高; 2)对于整除()模运算,若操作数中含小数,则先对其四舍五入后再运算; 3)模运算结果的符号取决于被除数,除数与mod之间要有空格,建议符号两侧都留空格。 4)日期型数据加(减)数字指天数:#2014-05-15# + 1=#2014-05-16# ;两个日期相减为二者相差天数: #2014-05-15# #2014-05-14# =12、连接运算符序号序号运算符

3、运算符功能功能优先级优先级示示 例例1& a、两边的操作数可以是字符型、数值型或日期型。 b、连接操作前先将数值型、日期型转换为字符型,然后再做连接运算。相同 a:“你” & “好=你好“ b:123“ & 56=179 c:“abc“ & 6=abc6 “2*3=“ & (2*3) :结果是:2*3=62+ a.如果两边的操作数都是字符串,则做字符串连接运算。 b.如果一个是数字字符串,另一个为数值型,则系统自动将数字字符串转化为数值,然后进行算术加法运算。 c.如果一个是非数字字符串,另一个为数值型,则出错. a:“你”+“好=你好“ “豫”+车牌号

4、:在车牌号字段前加个豫字 b:123+56=179 c:1a+6: 错误 “2*3=“ + (2*3) : 错误 3、比较(关系)运算符 共6种,分别是:、=、=、=、 优先级相同 结果为 true(真) 或 false(假),参与算术运算时分别对应 1 或 0 。 如:2100 成绩=100 职称”党员”4、逻辑运算符序号序号运算符运算符功能功能优先级优先级示例示例1Not非 高Not 35 :True ; 职称 not “党员”2and与32 : True ; 35 and 42 : False3or或 低35 or 45 or 42 : True例:1、性别= “女” and year(

5、出生日期)1990 表示出生在1990后的女生;2、成绩90 or 成绩=60 表示查找成绩大于90分或者小于等于60分的;5、特殊运算符序号序号运算符运算符功能功能示例示例1in判断其前面内容是否在其后的一组值中“优” in (“优”,”良”,”中”,”差”) 结果:True2Like匹配姓名 like “张*”3Is null字段为空简历 is null 4Is not null字段非空简历 is not null5Between-and指定范围Between 100 and 200 (含边界值)说明: 1、结果为 true(真) 或 false(假); 2、优先级同比较(关系)运算符;运

6、算符间的优先级(高运算符间的优先级(高低)低): 括号优先级最高括号优先级最高算术运算符连接运算符比较(关系)运算符 和特殊运算符逻辑运算符6、标识操作符 包括 ! . : 三种 : 用做输入的自定义表达式与新的计算字段名的分隔符。 例: Forms!窗体名称!控件名称.属性名称 Reports!报表名称!控件名称.属性名称7、通配符二、函数1、函数概念:2、调试方法:同运算符调试方法1、算术函数、算术函数Rnd() 产生0-1间的随机数,数值表达式0,每次产生新的随机数; =0,产生最近生成的随机数。2、文本函数字符串左侧第一个字符的位置为13、日期、日期/时间函数时间函数4、类型转换函数1

7、、asc() 功能:返回字符表达式首字符的ASCII码值例:asc(“abc”)=97说明:0-9对应ASCII码48-57; A-Z对应ASCII码65-90; a-z 对应ASCII码97-1222、str()功能:将数值表达式转换成字符串,数值表达式为正值时,返回字符前有一空格。例:str(100) 结果”100” 长度4 (VB环境调试时,结果无”)3、val() 功能:将数字字符串转换为数值型数字例:val(“123”)=123 val(“123a45”)=123说明:转换时,自动去掉其中的空格等符号;转换时,遇到第一个不能识别的字符时停止转换。5、聚合(统计)函数说明:此部分函数无

8、法在立即窗口中调试6、程序流程函数(略)1、inputbox(提示,标题,默认值)功能:接收用户输入的信息并返回字符串型的值。例:inputbox(这是提示信息,这是标题,这是默认值)7、消息函数2、msgbox(提示,按钮和图标,标题)功能:显示信息并根据用户单击的按钮返回整型的值。例:msgbox(这是提示信息,vbAbortRetryIgnore,这是标题)三、查询条件示例教材P45-P46 表3-3 注意:运算时,类型的匹配问题练习: 1、2*3+8/2*2=14 2、237 mod 7=6 3、出生日期100天后的日期 4、not(23 “abc” =false第3章 查询强化功能强

9、化功能表查询查询窗体报表宏模块来源来源来源来源来源强化功能2、说明:、说明: 1)查询对象不是数据的集合,而是操作的集合; 2)查询的运行结果是一个动态的数据集合:查询运行时,从源查询运行时,从源表中抽取满足条件的数据并显示,关闭查询时,查询的结果(动态表中抽取满足条件的数据并显示,关闭查询时,查询的结果(动态集)自动消失,不会被保存在数据库中;集)自动消失,不会被保存在数据库中; 3)数据库中保存的只是查询的操作。1、查询概念: 用户按照一定条件从Access数据库表或已建立的查询中检索需要的数据,进行查看、统计、计算、分析并使用。3.1 查询的类型(一) 1、选择查询:(最常用)根据条件从

10、一个或多个数据源中提取信息并显示。如:查找姓“王”的男教师。 2、交叉表查询:实现需要设置多个分类项进行统计的查询计算。如:统计不同专业不同职称的人数。 3、参数查询:根据输入的条件或参数来检索数据的查询。如根据用户输入的条件,来查找满足该条件的信息。查询分为查询分为5类:类:3.1 查询的类型(二) 4、操作查询:可以对数据源中的数据进行增加、删除、修改等编辑操作。又分为4种: 1)生成表查询:利用一个或多个表中的数据建立新表; 2)删除查询:将表中满足条件的记录信息进行删除; 3)更新查询:批量更新表中字段的值; 4)追加查询:将表中满足条件的记录抽取出来添加到其他表的尾部; 5、SQL查

11、询:通过SQL语句实现。前面的所有查询都可以转化为sql语句。3.3 查询设计界面组成 创建查询方法:一是利用查询向导,二是利用查询设计。教材上用第二种方法。 查询的5种视图: 创建查询整体步骤及界面介绍3.4 选择查询 选择查询概念:按照指定条件从一个或多个数据源中查找满足条件的记录。 3.4.1创建选择查询创建选择查询 1、创建不带条件的查询:例3-1 2、创建带条件的查询:例3-2 3.4.2查询中的计算查询中的计算 查询中的计算有两类:预定义计算和自定义计算例3-3-例3-63.5 交叉表查询 交叉表查询概念:将来源表中的字段分组,一组列在交叉表的左侧,一组列在交叉表的上部,并在交叉表

12、的行列交叉处显示表中某个字段的计算结果 创建交叉表查询需要指定的3种字段:一是交叉表左端的“行标题”,最多可设3个;二是交叉表上端的“列标题”,只能设1个,三是行列交叉处的“值”,只能设1个。 例3-7 3.6 参数查询 参数查询概念:利用对话框接收用户输入的参数作为查询条件,查找满足该条件的记录。 例3-8 方法:查询的“条件”行输入提示信息3.7 操作查询 操作查询概念:对查询出来的满足条件的记录进行相应的操作 操作查询包括生成表查询、删除查询、更新查询和追加查询4种。3.7.1 生成表查询生成表查询 利用将查询出来的记录生成一个新表 例3-93.7.2 删除查询删除查询 从表中删除符合条

13、件的记录 例3-10 3.7.3 更新查询更新查询 对满足条件的记录进行批量更新 例3-113.7.4 追加查询追加查询 将表中满足条件的记录追加到另一张表的尾部 例3-123.8 SQL 查询 SQL即结构化查询语言,是数据库通用的标准化语言 之前的所有查询都可以用SQL语句实现 SQL语句中不区别大小写 查看及高度SQL语句方法:“创建”“查询设计”,在“设计”工具菜单下,切换到“SQL视图”1、利用create 语句创建表1、格式: create table ( () NOT NULL PRIMARY KEY , () NOT NULL PRIMARY KEY , )2、说明: 1)格式

14、中的“数据类型”必须用英文表示; 2)定义主键时,可以直接在字段名后加上PRIMARY KEY3、示例: create table 学生表(学号 char(4),性别 char(1),出生日期 date,简历 memo)2、利用alter语句修改表结构1)修改字段 ALTER TABLE ALTER ()n 使用该命令是修改表的结构,不能修改字段名。2)添加字段 ALTER TABLE ADD ()3)删除字段 ALTER TABLE DROP 例:在STUDENT表中增加一个“电话号码”字段(长整型),然后将该字段修改为文本型(8字符),最后删除该字段。alter table student

15、 add 电话号码 integeralter table student alter 电话号码 text(8)alter table student drop 电话号码3、利用drop语句删除表1、格式: DROP TABLE 2、功能: 删除指定的表3、说明: 该命令删除的是整张表,表一旦被删除,基于其上的所有操作和数据都将被删除。4、利用insert语句向表添加记录1、格式:INSERT INTO (,,) VALUES(,)2、功能: 向表中添加新记录3、说明: 如果INTO后缺省字段名,则必须为新记录中的每个字段都赋值,且插入数据的类型和顺序要与表中定义的字段一一对应。 4、示例: 向

16、STUDENT表中插入2个学生记录。 1)Insert into student values(900009,黄娟,女,#1990-5-26#,yes,null,null) 每个字段都有取值,所以into子句后可以省略字段名 2)Insert into student(学号,姓名,性别) values(900008,李荣辉,男) 只有3个字段被赋值,所以into子句后面必须说明是哪3个字段5、利用update语句更新记录1、格式:UPDATA SET = ,=, WHERE 2、功能: 对表中满足条件的记录用表达式的值代替字段原来的值3、说明: 1) 如果不带WHERE子句,则更新表中所有的记

17、录。 2) 如果带WHERE子句,则只更新表中满足条件的记录。4、示例: 将STUDENT表中所有女生的“贷款否”字段改为“否”。update student set 贷款否=no where 性别=女 6、利用delete语句删除记录1、格式: DELETE FROM WHERE 2、功能: 从表中删除满足条件的记录3、说明: 如果不带WHERE子句,则删除表中所有的记录(该表对象仍保留在数据库中)。如果带WHERE子句,则只删除表中满足条件的记录。4、示例: 删除STUDENT表中学号为“900008”的学生记录。delete from student where 学号=900008”7、

18、利用select语句实现查询和计算SELECT语句的基本格式:SELECT ALL|DISTINCT TOP PERCENT AS FROM AS , AS WHERE AND GROUP BY HAVING ORDER BY ASC|DESC 单表查询(一)单表查询仅涉及一个表的查询。1查询表中的若干列n 从表中选择需要的目标列。n格式:SELECT ,, FROM (1)查询指定的字段 在目标列中指定要查询的各字段名。(2)查询所有的字段 在目标列中使用“*” 。(3)消除重复的记录 在字段名前加上DISTINCT关键字。 (4)查询计算值 【例】 查询“学生”表中所有学生的姓名、性别和学

19、号。 select 姓名,性别,学号 from 学生单表查询(二)2选择查询n 从表中选出满足条件的记录。格式: SELECT FROM WHERE n WHERE子句中的条件是一个逻辑表达式,由多个关系表达式通过逻辑运算符连接而成。【例】 查询“学生”表中计算机系女生的学号和姓名。 select 学号,姓名 from 学生 where 性别=“女” and 系部=“计算机”【例6.17】 查询“选课”表中成绩在8090分之间的记录。 select * from 选课 where 成绩 between 80 and 90 单表查询(三)3排序查询n 使用ORDER BY子句可以对查询结果按照一

20、个或多个列的升序(ASC)或降序(DESC)排列,默认是升序。格式: ORDER BY ASC|DESC【例】 查询8090分的记录,同一门课程按成绩降序排。 select * from 选课 where 成绩 between 80 and 90 order by 课程号, 成绩 descn 使用TOP短语可以选出排在前面的若干记录。格式: TOP 或 TOP PERCENT TOP子句必须和ORDER BY子句同时使用。【例6.21】 查询“选课”表中成绩排在前5名的记录。 select top 5 * from 选课 order by 成绩 desc单表查询(四)4分组查询n 使用GROU

21、P BY子句可以对查询结果按照某一列的值分组。n 分组查询通常与SQL聚合函数一起使用,先按指定的数据项分组,再对各组进行合计。如果未分组,则聚合函数将作用于整个查询结果。n 常用聚合函数:COUNT、AVG、SUM、MIN、MAX【例】 统计“学生”表中的学生人数。 select count(*) AS 总人数 from 学生 【例】 统计“学生”表中各系的学生人数。 select 系部, count(*) as 各系人数 from 学生 group by 系部单表查询(五) 如果分组后还要求按一定的条件对这些组进行筛选,可以在GROUP BY子句后加上HAVING短语指定筛选条件。 HAV

22、ING短语必须和GROUP BY子句同时使用。【例】 查询选修了3门以上课程的学生学号。 select 学号 from 选课 group by 学号 having count(*)=3【例6.26】 查询选修了3门及以上课程,并且成绩在75分以上的学生学号。 select 学号 from 选课 where 成绩=75 group by 学号 having count(*)=3n 当WHERE子句、GROUP BY子句、HAVING子句同时出现时,先执行WHERE子句,从表中选取满足条件的记录,然后执行GROUP BY子句对选取的记录进行分组,再执行HAVING短语从分组结果中选取满足条件的组。 多表查询

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论