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 のスキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

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

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

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

×