"Microsoft Access" duomenų bazės modulio SQL paprastai atitinka ANSI-89 1 lygio reikalavimus. Tačiau tam tikros ANSI SQL funkcijos neįdiegtos "Microsoft Access SQL". Be to, "Microsoft Access SQL" apima rezervuotuosius žodžius ir funkcijas, kurių nepalaiko ANSI SQL.
Pagrindiniai skirtumai
-
Kiekviena "Microsoft Access SQL" ir ANSI SQL turi skirtingus rezervuotuosius žodžius ir duomenų tipus. Naudojant "Microsoft" OLE DB teikimo įrankį, yra papildomų rezervuotųjų žodžių.
-
Between taikomos skirtingos taisyklės ... Ir konstruktas, kurio sintaksė yra tokia:
expr1 [NOT] Between value1 And value2
"Microsoft Access SQL " reikšmė1 gali būti didesnė už reikšmę2; ANSI SQL reikšmė1 turi būti lygi arba mažesnė už reikšmę2.
-
"Microsoft Access SQL" palaiko ANSI SQL pakaitos simbolius ir "Microsoft Access" būdingas pakaitos simboliai naudoti su operatoriumi Like . ANSI ir "Microsoft Access" pakaitos simbolių naudojimas yra tarpusavyje nesuderinamas. Turite naudoti vieną arba kitą rinkinį ir negalite jų maišyti. ANSI SQL pakaitos simboliai galimi tik naudojant "Microsoft Access" duomenų bazės modulį ir "Microsoft Access" OLE DB teikimo įrankį. Jei bandysite naudoti ANSI SQL pakaitos simbolius per Access arba DAO, tada jie bus interpretuojami kaip literalai.
Sutampantys simboliai
Microsoft Access SQL
ANSI SQL
Bet kokį vieną simbolį
?
_ (pabraukimo brūkšnys)
Nulis arba daugiau simbolių
*
%
-
"Microsoft Access" SQL paprastai yra mažiau ribojanti. Pvz., jis leidžia grupuoti ir užsakyti reiškinius.
-
"Microsoft Access SQL" palaiko efektyvesnes išraiškas.
Patobulintos "Microsoft Access SQL" funkcijos
"Microsoft Access SQL" teikia šias patobulintas funkcijas:
Sakinys TRANSFORM, kuris palaiko kryžmines užklausas.
-
Papildomos SQL agregavimo funkcijos, pvz., StDev ir VarP.
Parametrų užklausų apibrėžimo deklaracija PARAMETERS.
ANSI SQL funkcijos nepalaikomos Microsoft Access SQL
Microsoft Access SQL nepalaiko šių ANSI SQL funkcijų:
-
Distinct agregavimo funkcijos nuorodos. Pvz., "Microsoft Access SQL" neleidžia NAUDOTI SUM(DISTINCT stulpelio pavadinimas).
-
Sąlyga LIMIT TO nn ROWS, naudojama apriboti užklausos pateikiamų eilučių skaičių. Galite naudoti tik sąlyga WHERE, kad apribotumėte užklausos aprėptį.