Microsoft Jet SQL 和 ANSI SQL 的比较

来源:互联网 发布:windows安全中心闪退 编辑:程序博客网 时间:2024/05/17 14:29

Microsoft Jet 数据库引擎 SQL 通常与 ANSI-89 Level 1 相兼容。但是,某些 ANSI SQL 特性并没有在 Microsoft? Jet SQL 中实现。在 Microsoft Jet 4.X 版本发行后,Microsoft OLE DB Provider for Jet 使用了更多的 ANSI-92 SQL 语法。而 Microsoft Jet SQL 则包含 ANSI SQL 不支持的关键字和特性。

主要区别
Microsoft Jet SQL 和 ANSI SQL 各自拥有不同的保留字和数据类型。有关详细信息,请参阅 Microsoft Jet Database Engine SQL 保留字和等价的 ANSI SQL 数据类型。如果将 Jet 4.X 和 Microsoft OLE DB Provider for Jet 一起使用,还有其他保留字。
应用于 Between...And 结构的规则不同,该结构具有以下语法:
expr1 [NOT] Between value1 And value2

在 Microsoft Jet SQL 中,value1 可以大于 value2;在 ANSI SQL 中,value1 必须小于或等于 value2。

Microsoft Jet SQL 支持 ANSI SQL 通配符和 Microsoft Jet 专用的通配符以用于运算符 Like。ANSI 和 Microsoft Jet 通配符的使用是互不包括的。必须使用其中一种而不能混合使用。ANSI SQL 通配符仅在使用 Jet 4.X 和 Microsoft OLE DB Provider for Jet 时才是可用的。如果试图通过 Microsoft Access 或者 DAO 来使用 ANSI SQL 通配符,那么它们会被解释为文本。相反,使用 Microsoft OLE DB Provider for Jet 和 Jet 4.X 时,才会成功执行。 匹配字符 Microsoft Jet SQL ANSI SQL
任何单个字符 ? _(下划线)
零个或多个字符 * %


Microsoft Jet SQL 通常限制性很少。例如,它允许对表达式进行分组和排序。
Microsoft Jet SQL 支持更加强大的表达式。
Microsoft Jet SQL 的增强功能
Microsoft Jet SQL 提供了如下增强功能:

TRANSFORM 语句,它对交叉表查询提供支持。

增加了其他 SQL 聚合函数,如StDev 和 VarP。
PARAMETERS 声明用于定义参数查询。

Microsoft Jet SQL 不支持的 ANSI SQL 功能。
Microsoft Jet SQL 不支持如下 ANSI SQL 功能:

DISTINCT 聚合函数引用。例如,Microsoft Jet SQL 不允许 SUM(DISTINCT columnname)。
用于限制查询返回的行数的 LIMIT TO nn ROWS 子句。只能使用 WHERE 子句来限制查询的范围。  

原创粉丝点击