Access数据库4章节查询命令的功能与使用
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
意义 连接运算符,将两个字符吕进行连接。还可以将字符串与数值或时间类 型的值进行连接,而且无需进行转换即可连接成1个字符串 “类似于…”运算符。与通配符连用设置字符串的格式和内容信息 “不类似于…”运算符,与通配符连用设置输入的字符串不应该类似什么 或内容
Between…And … 指定值的范围
In
边用边学Access 2003
算术运算符
运算符 + 意义
计算两个数值的和。数值可以是任何数据变量,如果使用字段,必须用 “[]”将字段括起来。另外,这个运算符还可以连接两个字符串,例如 [姓]+[名字] 计算两个数值的差
计算两个数值的乘积 把两个数相除并将结果显示在需要地地方 整除运算符,计算两个数相除的值,但将得到的结果取整(四舍五入), 例如,[字段]\1 指数运算符,表示1个数反复相乘。例如,4^3,相当于4*4*4 求模运算符,计算两个数相除得到的余数,也叫求余运算符
边用边学Access 2003
◆删除查询:可以从一个或多个表中删除一组记录。例如,可以使用删除
查询来删除所有毕业学生的记录。使用删除查询,通常会删除整个记录,而
不只是记录中所选择的字段。 ◆更新查询:可以对一个或多个表中的一组记录做全局的更改。例如,可 以将所有学生的语文成绩提高 10 个百分点,或将某一工作类别的人员的工 资提高 5 个百分点。使用更新查询,可以更改已有表中的数据。 ◆追加查询:可以将一个或多个表中的一组记录添加到一个或多个表的末 尾。例如,假设用户获得了一些新的客户以及包含这些客户信息的数据表。 若要避免在自己的数据库中键入所有这些信息的麻烦,最好将其追加到“客 户”表中。 ◆生成表查询:可以根据一个或多个表中的的全部或部分数据新建表。生 成表查询有助于创建表以导出到其他数据库中。
边用边学Access 2003
4.3.1 使用向导创建查询
查找重复项查询向导 对某些具有相同字段值的记录进行统计计数。 例:查找教师表中各种职称人数的统计查询。 思考:可不可以用交叉表完成此任务?如果不能,为什么?
查找不匹配项查询向导 在一个表中查找与另一个中没有相关记录的记录。 例:查找哪些在成绩表中没有他们的选课成绩的学生记录。
边用边学Access 2003
-
* / \ ^ Mod
逻辑运算符和比较运算符
举例:使用逻辑运算符和比较运算符设置数据有效性规则 1. 单价不能比0小,数量不小于1 2. 全勤奖金不是0就是200 3. <>0 and >-100 and <200
比较运算符 意义
=
<>,!= < > <=,!> >=,!<
比较两个值或表达式是否相等
比较两个值或表达式是否不相等 比较1个表达式或值是否小于另外1个表达式或值 比较1个表达式或值是否大于另外1个表达式或值 比较1个表达式或值是否小于等于另外1个表达式或值 比较1个表达式或值是否大于另外1个表达式或值
边用边学Access 2003
逻辑运算符
意义
And
Or Eqv Imp Xor Not
注意:交叉表查询向导”创建的查询,数据源必须是来源于一个表或查询,如果来自多个表,可以先建 立一个查询,然后再以此查询作为数据源。当然,用查询的设计视图来做交叉表查询,数据源可以 是多个表或查询。
边用边学Access 2003
边用边学Access 2003
交叉表的实际工作应用(举例): 1. 各连锁店各种商品的进货量、销售量等 2. 不同部门薪资平均值 3. 各部门员工各个月份的出生人数或员工总人数 4. 每一位客户在每一年各季度的订购金额、各年份的订购总金额 5. 各类产品各年度每季的订货平均与总金额 ……
第四章 查询
使用数据库管理系统的最主要的目的就是希望非常 系统且有组织的管理数据,并且能够以非常有效率 的方式来存取所需的数据,因此,从数据库的一个 或多个数据表中提取出所需的数据集合并针对该数 据集合加以汇总、统计或分析这项最例行的工作而 言,非“查询”莫属。
“查询”之前
查询虽然是一个储存在数据库中的数据库对象,不过查询中所存放的并不是查询 所得的信息,而是如何去取得所需信息的方法与定义(SQL命令语句),即, 当运行查询时,这些信息便会取得,但是这些通过查询所得的信息并不会储存在 数据库中。换句话说,当关闭查询后,查询记录也随之清空。保存下来的只有查 询方式,再次打开查询将重新从表中调入数据。因此,我们建立查询的目的就是 在需要取得特定信息时立即运行特定的查询来获得所需的信息。
1.选择需要创建查询的表
2.选择在查询中包括的字段
3.显示已选择的字段
边用边学Access 2003
4.3.1 使用向导创建查询
★交叉表查询
交叉表查询以水平和垂直方式对记录进行分组,并计算和重构数据,使查询后生成的数据显示得更清 晰,结构更合理、紧凑。还可以对数据进行汇总、计数及求平均值等操作。 交叉表查询是将来源于某个表中的字段进行分组,一组列在数据表的左侧,一组列在数据表的上部, 然后在数据表行与列交叉处显示表中某个字段的各种计算值。 例:使用交叉表查询向导,创建统计每班男女生人数的交叉表查询。(重点思考行与列的选择)
Hale Waihona Puke 3.4.注意事项: 将字段名包含在一对中括号中。 将常量字符串包含在一对单或双引号中(引号必须是英文半角符号)。 例:[姓名]+“先生/小姐” 将日期时间包含在一对#号中。 例:#2006/09/02 AM 10:10:10#+20 使用运算符“&”或“+”来连接“文本”类型字段或字符串。 “收件人地址:” & [邮政编码] & [家庭地址] “收件人地址:” + [邮政编码] + [家庭地址]
Is Null Is Not Null [列表] [!列表]
指定值属于列表中对列出的值
指定一个字段值为空 指定一个字段值为非空 任何在列表中单个字符 任何不在列表中单个字符
边用边学Access 2003
例: [名] Like “浩”? 如果用户输入的名字以“浩”开头,并且是两个汉 字,则返回true [ID] Like “AB###” 用户输入的ID字段的内容必须以“AB”字符 开头,后面跟3个数字 [Last Name] = ”Willams“ Or [Last Name] = ”Johnson“ 如果Last Name字段为Willams或Johnson, 结果为true Not “教授” 表示查询的条件是职称除了教授以外的所有教师 In(“教授”,“副教授”) 职称为教授或副教授
边用边学Access 2003
4.3.1 使用向导创建查询
简单查询 例1:使用向导,在“教学信息管理”数据库中查找并显示“教师”表中 的“姓名”、“性别”、“职称”和“专业”4个字段。(单个表) 例2:使用简单查询向导,查找每个学生的选课成绩,并显示学号、姓名、 课程和考分4个字段。(多个表:学生表、课程名称表、成绩表)
边用边学Access 2003
4.1 查询的功能
指定需要查看的数据表中的信息(可以是一个表或多个 表)。 通过指定查询条件来查看表中符合条件的数据和字段。 对表中的数据进行统计,包括汇总、排序等。 将需要的数据信息提取出来建立一个新的数据表。 在财务管理中通过查询结果可以创建财务报表。 使用查询后的数据生成图表,直观地表述数据。
与运算符,如果两个运算对象都为true,则返回true
或运算符,如果两个运算对象中有一个为true,则返回true 同运算符,如果两个运算对象相同,则返回true 包含运算符,如果两个运算对象是1个包含另外1个,则返回true 异或运算符 非运算符
边用边学Access 2003
其他运算符
操作符 & Like NOT Like
边用边学Access 2003
4.3 创建查询
创建查询的方式
1. 查询设计方式 在Access中创建查询有三种方式: ◆查询向导 ◆设计视图 ◆ SQL视图。 注意:简单的选择查询(包括“查找重复项查询”和“查找不匹配项查 询”)、交叉表查询一般使用向导创建查询;SQL查询(SQL程序)在 SQL视图中创建;其他查询一般在设计视图中创建。 2. 三种视图 在Access中查询有三种视图: ◆设计视图:在“设计视图”中不仅可以创建各种查询,而且可以编 辑已有查询 ◆数据表视图: “数据表视图”显示的是查询结果,是一个动态记录 集 ◆ SQL视图。在“SQL视图”中创建SQL查询语句,生成查询程序。 注意:通过选择“视图”菜单中的相应选项(或点击工具栏中的“视图” 图标的下拉按钮,在下拉表中选择相应选项),可实现在三种视图间的转换。
边用边学Access 2003
函数
▲日期/时间 CDate 将字符串转化成为日期 select CDate("2005/4/5") Date 返回当前日期 DateAdd 将指定日期加上某个日期select dateAdd("d",30,Date())将当前日期加上30天, 其中d可以换为yyyy或H等 DateDiff 判断两个日期之间的间隔 select DateDiff("d","2006-5-1","2006-6-1")返回31, 其中d可以换为yyyy,m,H等 DatePart 返回日期的某个部分 select DatePart("d","2006-5-1")返回1,即1号,d也可以换 为yyyy或m Day 返回日期的d部分,等同于datepart的d部分 Hour 返回日期的小时 IsDate 判断是否是日期,是日期返回-1,不是日期返回0 Minute 返回日期的分钟部分 Month 返回日期的月份部分 Now 返回当前时间(完整时间,包括年月日 小时分秒) Second 返回日期的秒部分 Time 返回当前的时间部分(即除去年/月/日的部分) Weekday 返回某个日期的当前星期(星期天为1,星期一为2,星期二为3...),例如select weekday(now()); Year 返回某个日期的年份 ▲检查 IsEmpty 检测是否为空(不过经测试,不管什么情况,都返回0) IsNull 检测是否为Null值,null值返回0,非null值返回-1 IsNumeric 检测是否为数字,是数字返回-1,否则返回0
1. 选择查询 选择查询是最常见的查询类型,它是按照规则从一个或多个表,或其他查询中检 索数据,并按照所需的排列顺序显示出来。包括:简单选择查询、重复项查询、 汇总查询和不匹配查询。 2. 参数查询 参数查询可以在执行时显示自己的对话框以提示用户输入信息,它不是一种独立 的查询,只是在其他查询中设置了可变化的参数。 3. 交叉表查询 使用一个数据表或查询作为数据源,通过交叉表查询返回字段的统计信息,如合 计和平均值,并将它们分组,一组显示在电子表格的左侧,一组显示在上部。使 用交叉表查询可以计算并重新组织数据的结构,这样可以更加方便地分析数据。 4. 操作查询 使用操作查询只需进行一次操作,就可对许多记录进行更改和移动。有四种操作 查询,如下所示:
边用边学Access 2003
5. SQL 查询
SQL (Structure Query Language) 是一种结构化查询语言,是数据库操作的工业化标准 语言。可以使用SQL 来查询、更新和管理任何数据库系统。用户在设计视图中创建查询时, Access 将在后台构造等效的 SQL 语句。有一些 SQL 查询,只能在 SQL 视图中创建,称 为“特定查询”,包括: ◆传递查询:传递查询可以直接向 ODBC 数据库服务器发送命令 ◆联合查询:联合查询可使用 Union 运算符来合并两个或更多选择查询结果 ◆数据定义查询:使用SQL语句在查询的过程中对远程的数据库进行修改、删除、创建等操 作。 ◆子查询:在SQL查询语句中嵌套查询。
边用边学Access 2003
运算符、函数与表达式
基础知识补充
要点
表达式的格式 函数的类型和意义
运算符的类型和意义
创建复杂的表达式
在工作中实际应用函数
边用边学Access 2003
表达式
表达式是一个或一个以上的字段、函数、运算符、内存变量或常量的 组合。 字段 [工资] * 12 常量 运算符 1. 2.
边用边学Access 2003
★查询与数据表的关系
数据来源 不可同名 查询保存定义,不是数据 所以:数据表负责保存记录,查询负责取出记录,二者在目的 上完全相同,都可以将记录以表格的形式显示在屏幕上,这 些记录的进一步处理是用来制作窗体、报表和数据访问页。
边用边学Access 2003
4.2 查询的类型