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値 1 は値 2 より大きくすることができます。ANSI データSQL値 1 は値 2 以下である 必要があります。
-
Microsoft Access SQLは、ANSI SQLワイルドカード文字と、Like 演算子で使用 ワイルドカード文字 Microsoft Access 固有の文字の両方を サポート しています。 ANSI と Microsoft Access のワイルドカード文字の使用は、互いに排他的です。 1 つのセットまたは他のセットを使用する必要があります。混在することはできません。 ANSI SQLワイルドカードは、Microsoft Access データベース エンジンと Microsoft Access OLE DB プロバイダーを使用している場合にのみ使用できます。 ワイルドカードの ANSI を SQLまたは DAO で Access すると、それらはリテラルとして解釈されます。
一致する文字
Microsoft Access SQL
ANSI SQL
任意の 1 文字
?
_ (アンダースコア)
0 文字以上の文字列
*
%
-
Microsoft Access のSQL一般的に制限が小さい。 たとえば、式のグループ化と順序付けは許可されます。
-
Microsoft Access SQL、より強力な式をサポートしています。
Microsoft Access SQL の機能強化
Microsoft Access SQL、次の強化された機能が提供されています。
クロス集計クエリのサポートを提供する TRANSFORM ステートメント。
-
StDev SQL VarPなどのその他の関数の集計関数。
パラメーター クエリを定義するための PARAMETERS 宣言。
MICROSOFT Access SQLサポートされていない ANSI の機能SQL
Microsoft Access SQL、次の ANSI 機能はSQLされていません。
-
DISTINCT 集計関数の参照。 たとえば、Microsoft Access SQL SUM(DISTINCT 列名) を許可していないとします。
-
クエリによって返 される行数 を制限するために使用される LIMIT TO nn ROWS 句。 クエリの範囲を制限 WHERE 句 、クエリの範囲のみを使用できます。