MICROSOFT Access database engine SQL thường tuân thủ ANSI -89 Mức 1. Tuy nhiên, một số tính năng SQL ANSI nhất định không được triển khai trong Microsoft Access SQL. Ngoài ra, Microsoft Access SQL bao gồm các từ và tính năng dành riêng không được hỗ trợ trong ANSI SQL.
Sự khác biệt lớn
-
Mỗi MICROSOFT Access SQL và ANSI SQL có từ và kiểu dữ liệu dành riêng khác nhau. Sử dụng Nhà cung cấp Microsoft OLE DB, sẽ có các từ dành riêng bổ sung.
-
Các quy tắc khác nhau áp dụng cho phần Giữa... Và xây dựng, có cú pháp sau đây:
expr1 [NOT] Between value1 And value2
Trong Microsoft Access SQL, value1 có thể lớn hơn value2; trong SQL ANSI, value1 phải bằng hoặc nhỏ hơn value2.
-
Microsoft Access SQL hỗ trợ cả ký tự đại diện ANSI SQL và ký tự đại diện dành riêng cho Microsoft Access ký tự đại điện sử dụng với toán tử Like . Việc sử dụng các ký tự đại diện ANSI và Microsoft Access là loại trừ lẫn nhau. Bạn phải sử dụng một bộ hoặc một bộ khác và không thể kết hợp chúng. Ký tự đại diện ANSI SQL chỉ sẵn dùng khi sử dụng bộ máy cơ sở dữ liệu Microsoft Access và Nhà cung cấp Microsoft Access OLE DB. Nếu bạn tìm cách sử dụng ký tự đại diện ANSI SQL thông qua Access hoặc DAO, thì ký tự này sẽ được hiểu là ký tự chữ.
Ký tự khớp
Microsoft Access SQL
ANSI SQL
Ký tự đơn bất kỳ
?
_ (dấu gạch dưới)
Không hoặc nhiều ký tự
*
%
-
Microsoft Access SQL thường ít hạn chế hơn. Ví dụ: tính năng này cho phép nhóm và sắp xếp theo biểu thức.
-
Microsoft Access SQL hỗ trợ các biểu thức mạnh mẽ hơn.
Các tính năng nâng cao của Microsoft Access SQL
Microsoft Access SQL cung cấp các tính năng nâng cao sau đây:
Câu lệnh TRANSFORM, cung cấp hỗ trợ cho các truy vấn chéo bảng.
-
Các hàm Tổng hợp SQL bổ sung, chẳng hạn như StDevvà VarP.
Khai báo PARAMETERS để xác định truy vấn tham số.
Các tính năng SQL của ANSI không được Hỗ trợ trong Microsoft Access SQL
Microsoft Access SQL không hỗ trợ các tính năng SQL ANSI sau đây:
-
Tham chiếu hàm tổng hợp DISTINCT. Ví dụ: Microsoft Access SQL không cho phép SUM(DISTINCT columnname).
-
Mệnh đề LIMIT TO nn ROWS được dùng để giới hạn số hàng mà một truy vấn trả về. Bạn chỉ có thể sử dụng Mệnh đề WHERE để giới hạn phạm vi truy vấn.