Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-查询/SQL语句

全面掌握MS ACCESS SQL(48)

时 间:2018-01-29 09:34:49
作 者:Big Young   ID:252  城市:襄阳
摘 要:    SQL的IN子句的完整语法。
正 文:

第十五章 ACCESS SQL跨数据库操作

ACCESS做为MS Office办公套件中的一个应用程序,经常需要用它来与其它数据源进行数据交互,比如在查询中使用在EXCEL中的数据或文本记录文件中的数据,或者导出查询结果到EXCEL的数据表中或其它格式的数据文件中。 除了通过图形用户介面中常用的导入/导出功能外,还可以通过ACE-SQLIN子句来灵活实现。

第一节 SQLIN子句的完整语法

ACCESS SQL中,用IN子句来标识任意外部数据库中,Microsoft Access数据库引擎可连接到的表,如dBASEParadox数据库或外部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 JOINLEFT JOINRIGHT JOIN产生的复合表。

path

包含表的目录或文件的完整路径。

type

用于创建表的数据库类型名称(如果数据库不是Microsoft Access数据库,如dBASE IIIdBASE IVParadox 3.xParadox 4.x)。

二、关于IN子句的几点注解说明

一次只能使用IN连接到一个外部数据库。

在某些情况下,path参数引用包含数据库文件的目录。例如,使用dBASEMicrosoft FoxProParadox数据库表时,path参数指定包含.dbf.db文件的目录。表文件名派生自destinationtableexpression参数派生的。

要指定非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子句来从外部数据库中检索数据。在每个示例中,假定在假设客户表存储在外部数据库中。

    1ACCESS数据库示例

对于MS ACCESS数据库作为外部数据库的操作比较简单,与本地表操作几乎没什么区别,只要指出表所在的数据库就可以了。例如:

Select [Customer ID]

FROM Customers IN OtherDB.mdb

Where [Customer ID] Like "A*";

2dBASE IIIIV示例

若要从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*";

3Paradox 3.x4.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*";

4MS 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源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助