全面掌握MS ACCESS SQL(48)
时 间:2018-01-29 09:34:49
作 者:Big Young ID:252 城市:襄阳
摘 要: SQL的IN子句的完整语法。
正 文:
第十五章 ACCESS SQL跨数据库操作
ACCESS做为MS Office办公套件中的一个应用程序,经常需要用它来与其它数据源进行数据交互,比如在查询中使用在EXCEL中的数据或文本记录文件中的数据,或者导出查询结果到EXCEL的数据表中或其它格式的数据文件中。 除了通过图形用户介面中常用的导入/导出功能外,还可以通过ACE-SQL的IN子句来灵活实现。
第一节 SQL的IN子句的完整语法
在ACCESS SQL中,用IN子句来标识任意外部数据库中,Microsoft Access数据库引擎可连接到的表,如dBASE或Paradox数据库或外部Microsoft Access数据库。
一、IN子句的完整语法
标识目标表:
[Select | Insert] INTO destination IN
{path | ["path" "type"] | ["" [type; DATABASE = path]]}
标识源表:
FROM tableexpression IN
{path | ["path" "type"] | ["" [type; DATABASE = path]]}
包含IN子句的查询语句由以下部分组成:
部分 |
说明 |
destination |
插入数据的外部表的名称。 |
tableexpression |
从中检索数据的表的名称。此参数可以是一个表名、保存的查询或由 INNER JOIN、LEFT JOIN或RIGHT JOIN产生的复合表。 |
path |
包含表的目录或文件的完整路径。 |
type |
用于创建表的数据库类型名称(如果数据库不是Microsoft Access数据库,如dBASE III、dBASE IV、Paradox 3.x或Paradox 4.x)。 |
二、关于IN子句的几点注解说明
一次只能使用IN连接到一个外部数据库。
在某些情况下,path参数引用包含数据库文件的目录。例如,使用dBASE、Microsoft FoxPro或Paradox数据库表时,path参数指定包含.dbf或.db文件的目录。表文件名派生自destination或tableexpression参数派生的。
要指定非Microsoft Access数据库,请向名称追加分号(;),并在两边加上单引号(' ')或双引号(" ")。例如,'dBASE IV;' 或"dBASE IV;"都是可接受的。
也可使用DATABASE保留字指定外部数据库。例如,以下代码行指定相同的表:
... FROM Table IN "" [dBASE IV; DATABASE=C:\DBASE\DATA\SALES;];
或:
... FROM Table IN "C:\DBASE\DATA\SALES" "dBASE IV;"
需要注意的是:
为了提高性能和易用性,可使用被链接表替代IN。
另外,在ACCESS SQL中,也可使用IN保留字作为表达式中的比较运算符,与此处的含义不同,请注意区别。
三、IN子句使用示例
下表显示如何使用IN子句来从外部数据库中检索数据。在每个示例中,假定在假设客户表存储在外部数据库中。
1、ACCESS数据库示例
对于MS ACCESS数据库作为外部数据库的操作比较简单,与本地表操作几乎没什么区别,只要指出表所在的数据库就可以了。例如:
Select [Customer ID]
FROM Customers IN OtherDB.mdb
Where [Customer ID] Like "A*";
2、dBASE III或IV示例
若要从dBASE III表中检索数据,替换为"dBASE III;",若要从dBASE IV表中检索数据,替换为"dBASE IV;"。例如:
Select [Customer ID]
FROM Customer
IN "C:\DBASE\DATA\SALES" "dBASE III;"
Where CustomerID Like "A*";
或:
Select [Customer ID]
FROM Customer
IN "" [dBASE IV; Database=C:\DBASE\DATA\SALES;]
Where CustomerID Like "A*";
3、Paradox 3.x或4.x示例
若要从Paradox表中检索数据,用来代替“Paradox 3.x;”或“Paradox 4.x;”替换外部数据库处的数据名即可。例如:
Select [Customer ID]
FROM Customer
IN "C:\PARADOX\DATA\SALES" "Paradox 4.x;"
Where CustomerID Like "A*";
或者:
Select [Customer ID]
FROM Customer
IN "" [Paradox 4.x;Database=C:\PARADOX\DATA\SALES;]
Where CustomerID Like "A*";
4、MS EXCEL工作表示例
Select [Customer ID], [CompanyName]
FROM [Customers$]
IN "c:\documents\xldata.xls" "EXCEL 5.0;"
Where [Customer ID] Like "A*"
ORDER BY [Customer ID];
或者:
Select [Customer ID], [CompanyName]
FROM CustomersRange
IN "c:\documents\xldata.xls" "EXCEL 8.0;"
Where CustomerID Like "A*"
ORDER BY CustomerID;
Access软件网QQ交流群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- Access对子窗体数据进行批...(10.30)
- 最精简的组合框行来源数据快速输...(10.25)
- Access仿平台的多值选择器...(10.24)
- 【Access日期区间段查询】...(10.22)
- 【Access源码示例】VBA...(10.12)
- Access累乘示例,Acce...(10.09)
- 数值8.88,把整数8去掉,转...(10.08)
- 【Access自定义函数】一个...(09.30)
- 【Access选项卡示例】Ac...(09.09)
学习心得
最新文章
- 高效率在导入数据前删除记录(11.10)
- Access系统自带的日期选择器不...(11.08)
- 分享一下Access工程中的acw...(11.07)
- Access快速开发平台--让有权...(11.04)
- Access快速开发平台--审批选...(11.01)
- ACCESS两张表先各自排序,然后...(10.31)
- Access对子窗体数据进行批量+...(10.30)
- SqlServer中如何用SQL命...(10.29)
- Access报表中的分组功能用代码...(10.28)
- 用Access计算库存结余的一个方...(10.26)