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 语法。相反地,在 ANSI SQL 中也不支持 Microsoft Jet SQL 所包含的某些保留字和性能。
? | Microsoft Jet SQL 和 ANSI SQL 都有不同的保留字和数据类型。欲知更多信息请看 Microsoft Jet 数据库引擎 SQL 保留字s和等效的 ANSI SQL数据类型。将 Microsoft OLE DB Provider for Jet 与 Jet 4.X 协同使用,会有额外的保留字。 |
? | Between...And 的构造应用了不同的规则,语法如下: |
expr1 [NOT] Between value1 And value2
在 Microsoft Jet SQL 中,value1 可以大于 value2; 而在 ANSI SQL 中,value1 则必须等于或小于 value2。
? | Microsoft Jet SQL支持 ANSI SQL 通配符 和 Microsoft Jet-specific 通配符与 Like 运算符一起使用。 ANSI或 Microsoft Jet 通配符 是互相排斥的。你只能用其中一组,不能同时使用。仅当使用 Jet 4.X 和 Microsoft OLE DB Provider for Jet 时,ANSI SQL 通配符才可用。若尝试通过 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 提供了下列加强功能:
? | 附加合计函数s, 如 StDev 和 VarP |
PARAMETERS说明语句定义参数查询
Microsoft Jet SQL 不支持下列 ANSI SQL 的功能:
? | DISTINCT 合计函数引用。例如,Microsoft Jet SQL 不允许 SUM(DISTINCT 字段名)。 |
? | 用来限制查询返回行数的 LIMIT TO nn ROWS 子句。你可以只用 WHERE 子句限定查询的范围。 |