当前位置: 首页 > 文档资料 > SQL 合计函数 >

Microsoft Jet SQL 和 ANSI SQL 的比较

优质
小牛编辑
134浏览
2023-12-01

Microsoft Jet 数据库引擎 SQL 和 ANSI SQL 的比较

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 SQLANSI SQL
    任何单一字符?_(下划线)
    零个或多个字符*%
  • Microsoft Jet SQL 通常限制的比较少。例如,它允许在表达式中进行分组和排序。
  • Microsoft Jet SQL 提供了更强有力的表达式。
Microsoft Jet SQL 的加强功能

Microsoft Jet SQL 提供了下列加强功能:

TRANSFORM 语句支持连接查询

  • 附加合计函数s, 如 StDev 和 VarP

PARAMETERS说明语句定义参数查询

Microsoft Jet SQL 不支持的 ANSI SQL 功能

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

  • DISTINCT 合计函数引用。例如,Microsoft Jet SQL 不允许 SUM(DISTINCT 字段名)。
  • 用来限制查询返回行数的 LIMIT TO nn ROWS 子句。你可以只用WHERE 子句限定查询的范围。
请参阅
等效的 ANSI SQL 数据类型Microsoft Jet 数据库引擎 SQL 的保留字
Like 运算符 (Microsoft Jet SQL)SQL 合计函数(SQL)
Microsoft Jet 数据库引擎 SQL 的数据类型在字符串比较中使用通配符