注: 最新のヘルプ コンテンツをできるだけ早く、お客様がお使いの言語で提供したいと考えております。 このページは、自動翻訳によって翻訳されているため、文章校正のエラーや不正確な情報が含まれている可能性があります。私たちの目的は、このコンテンツがお客様の役に立つようにすることです。お客様にとって役立つ情報であったかどうかを、このページの下部でお知らせください。 簡単に参照できるように、こちらに 英語の記事 があります。
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 ステートメント。
-
StDev や VarP などの集計関数。
パラメータ クエリの定義に使用する 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 句だけが使用できます。