ACCESS语法详解:群组、计算与多表查询
ACCESS语法是Microsoft Access数据库管理系统中用于构建查询、执行操作和管理数据的标准语言。它结合了SQL的基本结构与Access特有的图形用户界面,使非专业程序员也能轻松处理数据。以下是一些关键知识点: 1. **合计和运算式**: 在查询语句中,`Sum()`函数被用来计算特定字段的总和,如`Sum(订单.含税价)`表示对订单表中的含税价求和。同时,使用`Last()`函数获取某个字段的最后一个值,如`Last(订单.订单日期)`。 2. **群组和条件筛选**: `GROUP BY`语句用于按指定字段进行分组,如`GROUP BY 订单.客户编号`,这样可以对每个客户编号下的数据进行汇总。`WHERE`子句用于设置筛选条件,如`WHERE (订单.订单日期>=#12/1/2006#)`限制了结果集的时间范围。 3. **多表查询**: - `INNER JOIN`: 是最基础的联接方式,例如`SELECT 客户.公司名称, 订单.订单编号, 订单.订单日期`语句连接了`客户`和`订单`表,基于`客户.客户编号 = 订单.客户编号`的匹配条件。 - `LEFT JOIN` 和 `RIGHT JOIN`: 这两种类型的JOIN允许在查询时保留所有左边或右边表的数据,即使没有匹配的记录。如`LEFT JOIN`示例中,返回了所有客户的信息,即使他们没有订单。 4. **动作查询指令**: - `LIKE` 用于模式匹配,例如`WHERE filenames like '*http*'`用于查找包含"http"的文件名。 - `DELETE` 操作结合`LIKE`可以删除符合条件的记录,如`DELETE * FROM company_guangxi WHERE notlike '*˾*' and notlike '**'`删除不满足特定模式的记录。 - 更新操作如`UPDATE`用于修改数据,如`UPDATE Ʒ SET Ʒ.ۼ=[ۼ]*1.2 WHERE Ʒ.="MOTOROLA"`,根据特定条件调整字段值。 - 时间条件也十分重要,如`WHERE [Date] > #2002-1-1#`筛选出特定日期之后的记录。 5. **排序与统计**: - `ORDER BY`用于对查询结果按照指定字段排序,如`ORDER BY b.cc`。 - 使用嵌套查询和聚合函数,如`SELECT (SELECT Count([xlh].[aa]) AS AutoNum ...)`计算某一列的计数,或者`SELECTSum(.) AS 平均值, Last(.) AS 最后值`等。 6. **JOIN 类型**: - `INNER JOIN`是通过共享的键值将两个表连接在一起,只显示匹配的行。 7. **日期和时间处理**: - 计算日期差,如`Date()-[订单日期之最后一笔] AS 距今天数`。 - 时间戳和日期比较,如`WHERE .>=#12/1/2006#`。 8. **汇总和分组统计**: - 使用`GROUP BY`和`GROUP BY .ͻ`来对不同字段进行分组,并结合`Sum(.˰)`, `Last(.)`等函数进行汇总统计。 9. **数据过滤和查询复杂性**: - 通过`SELECT * From Tab1 Where [Date] > #2002-1-1#`快速过滤特定时间范围内的数据。 - SQL查询可以组合多个表和复杂的条件,如`SELECT a.aa, b.bb, b.cc * 100 AS 百分比`等。 10. **查询性能和优化**: - 熟练使用JOIN和GROUP BY可以提高查询效率,同时理解如何根据需要选择正确的JOIN类型(INNER JOIN, LEFT JOIN, RIGHT JOIN)对于性能至关重要。 ACCESS语法提供了强大的工具来处理和分析数据,包括基本的SQL查询语法、数据聚合、联接操作以及高级功能,如日期时间处理和多表查询。熟练掌握这些知识点有助于有效管理和分析数据库中的信息。
like查询用*
SELECT *
FROM flash
WHERE filename like '*http*';
DELETE *
FROM company_guangxi
WHERE 机构名称 not like '*公司*' and 机构名称 not like '*工厂*';
删除查询
DELETE * FROM 订
like查询用*
SELECT *
FROM flash
WHERE filename like '*http*';
DELETE *
FROM company_guangxi
WHERE 机构名称 not like '*公司*' and 机构名称 not like '*工厂*';
删除查询
DELETE * FROM 订单 WHERE 订单.下单日期 <=#1/1/2002#
更新查询
UPDATE 产品 SET 产品.建议售价 = [建议售价]*1.2 WHERE 产品.厂牌="MOTOROLA"
查询时生成序号
SELECT (SELECT Count([xlh].[aa]) AS AutoNum FROM xlh WHERE (((xlh.aa) <=xlh_Alias.aa));) AS 序号, xlh.aa
FROM xlh AS xlh_Alias INNER JOIN xlh ON xlh_Alias.aa=xlh.aa
ORDER BY xlh.aa;
多表sql查询
SELECT test.aa AS 第一个字段, test1.bb AS 第二个字段, test1.cc
FROM test, test1
WHERE test.aa=test1.aa;
多表sql查询1
SELECT a.aa, b.bb, b.cc, b.cc*100 AS 合计
FROM test AS a, test1 AS b
WHERE a.aa=b.aa;
多表sql查询排序
SELECT a.aa, b.bb, b.cc AS 第三个字段
FROM test AS a, test1 AS b
WHERE a.aa=b.aa
ORDER BY b.cc;
查询例子
SELECT a.dhhm
FROM xl11a AS a, xl919 AS b
WHERE a.dhhm=b.dhhm and aa <>"1";
日期时间分隔符是#而不是引号
Select * From Tab1 Where [Date]>#2002-1-1#;
剩余15页未读,继续阅读
- 粉丝: 25
- 资源: 16
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- WebLogic集群配置与管理实战指南
- AIX5.3上安装Weblogic 9.2详细步骤
- 面向对象编程模拟试题详解与解析
- Flex+FMS2.0中文教程:开发流媒体应用的实践指南
- PID调节深入解析:从入门到精通
- 数字水印技术:保护版权的新防线
- 8位数码管显示24小时制数字电子钟程序设计
- Mhdd免费版详细使用教程:硬盘检测与坏道屏蔽
- 操作系统期末复习指南:进程、线程与系统调用详解
- Cognos8性能优化指南:软件参数与报表设计调优
- Cognos8开发入门:从Transformer到ReportStudio
- Cisco 6509交换机配置全面指南
- C#入门:XML基础教程与实例解析
- Matlab振动分析详解:从单自由度到6自由度模型
- Eclipse JDT中的ASTParser详解与核心类介绍
- Java程序员必备资源网站大全