Databázový stroj SQL programu Microsoft Access je vo všeobecnosti kompatibilný s štandardom ANSI -89 úrovne 1. Niektoré funkcie ANSI SQL však nie sú implementované v jazyku SQL programu Microsoft Access. Microsoft Access SQL tiež obsahuje vyhradené slová a funkcie, ktoré nie sú podporované v ANSI SQL.
Hlavné rozdiely
-
Microsoft Access SQL a ANSI SQL majú rôzne vyhradené slová a typy údajov. Ak používate poskytovateľa Microsoft OLE DB, existujú aj ďalšie vyhradené slová.
-
Na pole Medzi... A konštrukcia, ktorá má nasledujúcu syntax:
výraz1 [NOT] Between value1 And value2
V jazyku SQL programu Microsoft Access môže byť hodnota1 väčšia ako hodnota2. v ANSI SQL musí byť hodnota1 rovnaká alebo menšia ako hodnota2.
-
Microsoft Access SQL podporuje zástupné znaky ANSI SQL aj zástupné znaky špecifické pre Microsoft Access, ktoré sa majú použiť s operátorom Like . Používanie zástupných znakov ANSI a Microsoft Access sa navzájom vylučujú. Musíte použiť jednu alebo druhú množinu a nemôžete ich kombinovať. Zástupné znaky ANSI SQL sú k dispozícii len pri používaní databázového stroja Microsoft Access a poskytovateľa OLE DB programu Microsoft Access. Ak sa pokúsite použiť zástupné znaky ANSI SQL prostredníctvom Access alebo DAO, interpretujú sa ako literáli.
Zodpovedajúci znak
Microsoft Access SQL
ANSI SQL
Ľubovoľný jeden znak
?
_ (podčiarkovník)
Nula alebo viac znakov
*
%
-
Microsoft Access SQL je vo všeobecnosti menej obmedzujúci. Umožňuje napríklad zoskupovanie a zoraďovanie výrazov.
-
Microsoft Access SQL podporuje výkonnejšie výrazy.
Rozšírené funkcie programu Microsoft Access SQL
Microsoft Access SQL poskytuje nasledujúce vylepšené funkcie:
Príkaz TRANSFORM, ktorý poskytuje podporu pre krížové dotazy.
-
Ďalšie agregačné funkcie SQL, ako napríklad StDev a VarP.
Deklarácia PARAMETERS na definovanie parametrických dotazov.
Funkcie ANSI SQL, ktoré nie sú podporované v jazyku SQL programu Microsoft Access
Microsoft Access SQL nepodporuje nasledujúce funkcie ANSI SQL:
-
Odkazy na agregačné funkcie DISTINCT. Microsoft Access SQL napríklad nepovoľuje funkciu SUM(DISTINCT columnname).
-
Klauzula LIMIT TO nn ROWS, ktorá sa používa na obmedzenie počtu riadkov vrátených dotazom. Na obmedzenie rozsahu dotazu môžete použiť iba klauzula WHERE.