比較 Microsoft Access SQL 和 ANSI SQL

重要:  本文係由機器翻譯而成,請參閱免責聲明。本文的英文版本請見這裡,以供參考。

Microsoft Access 資料庫引擎 SQL 通常是 ANSI-89 相容的階層 1。不過,Microsoft Access SQL 並未實作特定的 ANSI SQL 功能。此外,Microsoft Access SQL 所包含的保留的字與 ANSI SQL 中不支援的功能。

主要差異

  • Microsoft Access SQL 與 ANSI SQL 分別具有不同的保留字及資料類型。如果搭配使用 Microsoft OLE DB Provider,還可以使用額外的保留字。

  • 有不同的 Between...And 建構規則,其語法如下所示:

    expr1 [NOT] Betweenvalue1Andvalue2

    在 Microsoft Access SQL 中,value1 可以大於 value2;而在 ANSI SQL 中,value1 必須等於或小於 value2

  • Microsoft Access SQL 支援將 ANSI SQL 萬用字元及 Microsoft Access 的特定萬用字元 與 Like 運算子搭配使用。而 ANSI 與 Microsoft Access 萬用字元的用法是相斥的,只可以選擇其中一個,而不得混合使用。只有在使用 Microsoft Access 資料庫引擎及 Microsoft Office Access 2007 OLE DB Provider 時,才可以使用 ANSI SQL 萬用字元。如果試圖透過 Office Access 2007 或 DAO 使用 ANSI SQL 萬用字元,則萬用字元會解譯為文字。

相符字元

Microsoft Access SQL

ANSI SQL

任何單一字元

?

_ (底線)

零個或多個字元

*

%

  • 通常,Microsoft Access SQL 的限制較少。例如,它允許對運算式進行分組及排序。

  • Microsoft Access SQL 支援較多功能強大的運算式。

Microsoft Access SQL 的增強功能

Microsoft Access SQL 提供下列增強功能:

轉換陳述式,交叉資料表查詢提供支援。

  • 其他 SQL 彙總函數,如 StDevVarP

定義參數查詢參數宣告。

Microsoft Access SQL 不支援的 ANSI SQL 功能

Microsoft Access SQL 不支援下列 ANSI SQL 功能:

  • DISTINCT 彙總函數參照。例如,Microsoft Access SQL 不支援 SUM(DISTINCT columnname)。

  • 用於限制查詢所傳回之列數的 LIMIT TO nn ROWS 子句。您只可以使用 WHERE 子句來限制查詢的範圍。



附註: 機器翻譯免責聲明︰本文係以電腦系統翻譯而成,未經人為介入。Microsoft 提供此等機器翻譯旨在協助非英語系使用者輕鬆閱讀 Microsoft 產品、服務及技術相關內容。基於本文乃由機器翻譯而成,因此文中可能出現詞辭、語法、文法上之錯誤。

擴展您的技能
探索訓練
優先取得新功能
加入 Office 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與其中一位 Office 支援專員連絡以深入了解您的意見。

×