A Microsoft Access adatbázismotor SQL általában ANSI -89 Level 1 megfelelő. Bizonyos ANSI SQL-funkciók azonban nincsenek implementálva a Microsoft Access SQL-ben. A Microsoft Access SQL fenntartott szavakat és funkciókat is tartalmaz, amelyek nem támogatottak az ANSI SQL-ben.
Főbb különbségek
-
A Microsoft Access SQL és az ANSI SQL különböző fenntartott szavakkal és adattípusokkal rendelkezik. A Microsoft OLE DB Provider használatával további fenntartott szavak is elérhetők.
-
Különböző szabályok vonatkoznak a Between... És szerkezet, amely a következő szintaxist tartalmazza:
expr1 [NOT] Between value1 And value2
A Microsoft Access SQL-ben az érték1 nagyobb lehet, mint érték2; az ANSI SQL-ben az 1 értéknek egyenlőnek vagy kisebbnek kell lennie, mint az érték2.
-
A Microsoft Access SQL az ANSI SQL helyettesítő karaktereit és a Microsoft Access-specifikus helyettesítő karakterek is támogatja a Like operátorral való használathoz. Az ANSI és a Microsoft Access helyettesítő karaktereinek használata kölcsönösen kizáró. Az egyik készletet vagy a másikat kell használnia, és nem keverheti őket. Az ANSI SQL helyettesítő karakterei csak a Microsoft Access adatbázismotor és a Microsoft Access OLE DB-szolgáltató használatakor érhetők el. Ha az ANSI SQL helyettesítő karaktereit próbálja használni Access vagy DAO használatával, akkor a rendszer literálként értelmezi őket.
Egyező karakter
Microsoft Access SQL
ANSI SQL
Egyetlen tetszőleges karakter
?
_ (aláhúzás)
Nulla vagy több karakter
*
%
-
A Microsoft Access SQL általában kevésbé korlátozó. Lehetővé teszi például a kifejezések csoportosítását és sorrendjét.
-
A Microsoft Access SQL támogatja a hatékonyabb kifejezéseket.
A Microsoft Access SQL továbbfejlesztett funkciói
A Microsoft Access SQL a következő továbbfejlesztett funkciókat biztosítja:
A TRANSFORM utasítás, amely támogatja a kereszttáblás lekérdezéseket.
-
További összesítő SQL-függvények, például StDev és VarP.
Paraméteres lekérdezések definiálása a PARAMETERS deklarációval.
Az ANSI SQL funkciói nem támogatottak a Microsoft Access SQL-ben
A Microsoft Access SQL nem támogatja a következő ANSI SQL-funkciókat:
-
DISTINCT aggregátumfüggvény-hivatkozások. A Microsoft Access SQL például nem engedélyezi a SUM(DISTINCT oszlopnév) beállítást.
-
A LEKÉRDEZÉS által visszaadott sorok számának korlátozásához használt LIMIT TO nn ROWS záradék. A lekérdezés hatókörének korlátozásához csak a WHERE záradék használhatja.