SQL Server與 Access在SQL文法上的差異

來源:互聯網
上載者:User

 
引:SQL Server、Microsoft Access都是微軟的產品。前者用於中型企業級應用,後者是小型資料庫的代表,初學者易於掌握。在開發一般資訊系統時,尤其是單機版,大都採用Access。雖然SQL Server也有個人桌面版,但是運行時需佔用較多的系統資源。

在區域網路廣泛應用的形勢下,網路版軟體大行其道,不少軟體從單機版過渡到C/S模式的網路應用,通過SQL語句從服務端擷取資料集,將查詢結果返回給用戶端。

Access中提供查詢對象,在設計時可以採用設計檢視和SQL視圖,非常方便,SQL視圖中的SQL語句可以在SQL SERVER中使用,但是否完全可用呢?答案是否定的,表1中總結了 Microsoft Access 和 Microsoft SQL Servers 的 SQL 文法的重要區別。

表1

SQL 文法元素
 Microsoft
Access
 Microsoft SQL
Server
 
標識符
 限制不超過 64 個字元。

允許使用關鍵字和特殊字元。

可以用任何字元開頭。
 SQL Server 6.5:

限制不超過 30 個字元。
不允許使用關鍵字和特殊字元。
必須用字母字元開頭。
SQL Server 7.0 的標識符與 Access 完全相容。
 
輸出欄位
 允許多個輸出欄位具有相同名稱。
 在視圖中不支援多個相同輸出欄位名。
 
日期分隔符號
 英鎊符(#)
 撇號(')
 
Boolean 常量
 True、False;On、Off;Yes、No。
 整數:1(真)、0(假)
 
字串串連
 和號(&)
 加號(+)
 
萬用字元
 星號(*)與零個或更多字元匹配。

問號(?)與單個字元匹配。

歎號(!)意味著不在列表中。

英鎊符(#)意味著單個數字。
 百分比符號(%)與零個或更多字元匹配。

底線(_)與單個字元匹配。

上插入符(^)意味著不在列表中。

沒有與英鎊符(#)對應的字元。
 
TOP
 如果有一個 ORDER BY 子句,自動包含層次。
 SQL Server 6.5 不支援。

SQL Server 7.0 需要一個明確的 WITH TIES 子句。
 
CREATE INDEX
 允許建立升序和降序索引。

允許聲明主鍵,沒有 Null 值,並且忽略 Null 值。
 
 
DROP INDEX
 文法是:

Drop Index <index name> ON <table name>
 文法是:

Drop Index <table name>, <index name>
 
DISTINCTROW
 支援(允許選擇單個記錄)。
 不支援。
 
OWNERACCESS
 支援(在執行時控制許可權)。
 不支援。
 
Table in UNION
 支援(允許使用下列文法指定表:

TABLE <tablename>
 不支援。
 
ORDER BY in Unions
 支援。允許通過聯集查詢中的子句實現多種排序。
 支援。允許通過語句末尾的子句實現一種排序。
 
TRANSFORM
 支援。用於交叉資料表查詢。
 不支援。
 
PARAMETERS
 支援(在 SQL 中記錄)。
 不支援。
 

 

以northwind資料庫為例,若要得到相同查詢結果,SQL語句作相應變化。

Access:

SELECT * FROM Products where productname like 'c*';

SELECT * FROM Products where productname like 'c?ang';

SQL Server:

SELECT * FROM Products WHERE productname LIKE 'c%'

SELECT * FROM Products WHERE productname LIKE 'c_ang'

在開發過程中尤其需要注意萬用字元的變化。
 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.