Microsoft Access 数据库引擎SQL符合 ANSI -89 级别 1 标准。 但是,某些 ANSI SQL功能未在 Microsoft Access SQL。 此外,Microsoft Access SQL包括 ANSI 应用程序不支持的保留字SQL。

主要差异

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

  • 不同的规则适用于 Between...构造 ,其语法如下:

    expr1 [NOT] Between value1 And value2

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

  • Microsoft Access SQL支持 ANSI SQL通配符和特定于 Microsoft Access 通配符 与 Like 运算符一起使用。 使用 ANSI 和 Microsoft Access 通配符互斥。 必须使用一个集或另一个集,并且不能混合它们。 ANSI SQL通配符仅在使用 Microsoft Access 数据库引擎和 Microsoft Access OLE DB 提供程序时可用。 如果尝试通过 SQL DAO 使用 ANSI Access 通配符,则它们将被解释为文本。

    匹配字符

    Microsoft Access SQL

    ANSI SQL

    任何单字符

    ?

    _ (下划线)

    零个或多个字符

    *

    %

  • Microsoft Access SQL限制通常更少。 例如,它允许对表达式进行分组和排序。

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

Enhanced Features of Microsoft Access SQL

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

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

  • 其他SQL聚合函数,例如StDev 和VarP。

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

Microsoft Access SQL不支持的 ANSI SQL

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

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

  • LIMIT TO nn ROWS 子句,用于限制查询返回的行数。 只能使用 WHERE 子句 来限制查询的范围。

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Office Insiders

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×