Microsoft Access SQL 和 ANSI SQL 的比较

注意: 我们希望能够尽快以你的语言为你提供最新的帮助内容。 本页面是自动翻译的,可能包含语法错误或不准确之处。 我们的目的是使此内容能对你有所帮助。 可以在本页面底部告诉我们此信息是否对你有帮助吗? 请在此处查看本文的英文版本以便参考。

Microsoft Access 数据库引擎 SQL 通常符合 ANSI-89 级别1。 但是, 某些 ANSI SQL 功能未在 Microsoft Access SQL 中实现。 此外, Microsoft Access SQL 还包括 ANSI SQL 中不支持的保留字和功能。

主要差异

  • Microsoft Access sql 和 ANSI sql 都具有不同的保留字和数据类型。 使用 Microsoft OLE DB 提供程序时, 还有其他保留字。

  • 不同规则适用于 "介于 ..."And结构, 其语法如下所示:

    表达式 1不仅介于value1value2 之间

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

  • Microsoft Access SQL 支持 ANSI SQL 通配符和 Microsoft access 特定的通配符, 以便与Like运算符一起使用。 使用 ANSI 和 Microsoft Access 通配符是互相排斥的。 必须使用一组或其他集, 并且不能混合使用。 只有在使用 microsoft access 数据库引擎和 microsoft access OLE DB 提供程序时, ANSI SQL 通配符才可用。 如果您尝试通过Access 或 DAO 使用 ANSI SQL 通配符, 则它们将被解释为文本。

    匹配字符

    Microsoft Access SQL

    ANSI SQL

    任何单字符

    ?

    _ (下划线)

    零个或多个字符

    *

    %

  • Microsoft Access SQL 通常不太严格。 例如, 它允许对表达式进行分组和排序。

  • Microsoft Access SQL 支持更强大的表达式。

Microsoft Access SQL 的增强功能

Microsoft Access SQL 提供下列增强功能:

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

  • 其他 SQL 聚合函数, 如StDevVarP

用于定义参数查询的参数声明。

Microsoft Access SQL 中不支持 ANSI SQL 功能

Microsoft Access SQL 不支持以下 ANSI SQL 功能:

  • DISTINCT 聚合函数引用。 例如, Microsoft Access SQL 不允许 SUM (DISTINCT columnname)。

  • 用于限制查询返回的行数的nn行子句的限制。 你只能使用WHERE 子句 限制查询的范围。

扩展你的 Office 技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×