Microsoft Access SQL と ANSI SQL の比較

重要:  この記事は機械翻訳されています。機械翻訳についての「免責事項」をお読みください。この記事の英語版を参照するには、ここをクリックしてください。

Microsoft Access データベース エンジン SQL は、通常 ANSI-89 レベル 1 に準拠しています。ただし、Microsoft Access sql の ANSI SQL の特定の機能は実装されていません。また、予約語と ANSI SQL ではサポートされていない機能が含まれています。

主な相違点

  • Microsoft Access SQL と ANSI SQL とでは、異なる予約語およびデータ型があります。Microsoft OLE DB プロバイダを使用すると、追加の予約語を使用できます。

  • 次のように、Between...And 演算子の指定項目の規則が異なります。

    expr1 [NOT] Betweenvalue1Andvalue2

    Microsoft Access SQL では、引数 value1 に引数 value2 より大きい値を指定できますが、ANSI SQL では引数 value1 は必ず引数 value2 以下の値である必要があります。

  • Microsoft Access SQL では、ANSI SQL のワイルドカード文字と、Like 演算子の指定項目の中で使われる Microsoft Access SQL に固有のワイルドカード文字の両方がサポートされています。ANSI SQL のワイルドカード文字と Microsoft Access SQL に固有のワイルドカード文字は互いに排他的なので、同時に使用することはできません。どちらかを使用してください。ANSI SQL のワイルドカード文字を使用できるのは、Microsoft Access データベース エンジンと Microsoft Office Access 2007 OLE DB プロバイダを組み合わせて使う場合だけです。Office Access 2007 または DAO を介して ANSI SQL のワイルドカード文字を使うと、リテラルとして解釈されます。

一致する文字

Microsoft Access SQL

ANSI SQL

任意の 1 文字

?

_ (アンダースコア)

0 文字以上の文字列

*

%

  • 一般的に、Microsoft Access SQL の方が ANSI SQL よりも制限がありません。たとえば、式のグループ化や並べ替えが可能です。

  • Microsoft Access SQL では、ANSI SQL よりも強力な式がサポートされています。

Microsoft Access SQL の拡張機能

Microsoft Access SQL には、次の拡張機能があります。

クロス集計クエリをサポートする TRANSFORM ステートメント。

  • StDevVarP などの集計関数。

パラメータ クエリの定義に使用する PARAMETERS 宣言。

Microsoft Access SQL でサポートされていない ANSI SQL の機能

Microsoft Access SQL では、ANSI SQL の次の機能がサポートされていません。

  • DISTINCT 集計関数の参照。たとえば、Microsoft Access SQL では、SUM(DISTINCT columnname) のような DISTINCT 集計関数の参照がサポートされていません。

  • クエリが返す行数を制限する LIMIT TO nn ROWS 句。Jet SQL では、クエリの適用範囲を制限するのに WHERE 句だけが使用できます。



注: 機械翻訳についての免責事項: この記事の翻訳はコンピューター システムによって行われており、人間の手は加えられていません。マイクロソフトでは、英語を話さないユーザーがマイクロソフトの製品、サービス、テクノロジに関するコンテンツを理解するのに役立てるため、こうした機械翻訳を提供しています。記事は機械翻訳されているため、用語、構文、文法などに誤りがある場合があります。

スキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×