Microsoft Accessi andmebaasimootori SQL ühildub üldiselt ANSI-89 1. tasemega. Teatud ANSI SQL-i funktsioone aga Microsoft Access SQL-is ei rakendata. Lisaks sisaldab Microsoft Access SQL reserveeritud sõnu ja funktsioone, mida ANSI SQL ei toeta.
Olulised erinevused
-
Microsoft Access SQL-is ja ANSI SQL-is on erinevad reserveeritud sõnad ja andmetüübid. Microsofti OLE DB pakkuja kasutamisel on täiendavaid reserveeritud sõnu.
-
Vahemikus kehtivad erinevad reeglid ... And construct, which has the following syntax:
avaldis1 [NOT] Between väärtus1 And value2
Microsoft Access SQL-is võib väärtus1 olla suurem kui väärtus2; ANSI SQL-is peab väärtus1 olema võrdne väärtusega 2 või sellest väiksem.
-
Microsoft Access SQL toetab operaatoriga Like kasutamiseks nii ANSI SQL-i metamärke kui ka Microsoft Accessikohaseid metamärgid. ANSI ja Microsoft Accessi metamärkide kasutamine on üksteist välistav. Peate kasutama ühte või teist kogumit ja neid ei saa segada. ANSI SQL-metamärgid on saadaval ainult Microsoft Accessi andmebaasimootori ja Microsoft Accessi OLE DB pakkuja kasutamisel. Kui proovite ANSI SQL-metamärke kasutada Access või DAO kaudu, tõlgendatakse neid literaalidena.
Vastav märk
Microsoft Access SQL
ANSI SQL
Suvaline üksikmärk
?
_ (allkriips)
Null või rohkem märke
*
%
-
Microsoft Access SQL on üldiselt vähem piiravam. Näiteks võimaldab see avaldistel rühmitada ja järjestada.
-
Microsoft Access SQL toetab võimsamaid avaldisi.
Microsoft Access SQL-i täiustatud funktsioonid
Microsoft Access SQL pakub järgmisi täiustatud funktsioone.
TRANSFORM-lause, mis toetab ristpäringuid.
-
Täiendavad SQL-kokkuvõttefunktsioonid (nt StDev ja VarP).
Deklaratsioon PARAMETERS parameetripäringute määratlemiseks.
ANSI SQL-i funktsioonid pole Microsoft Access SQL-is toetatud
Microsoft Access SQL ei toeta järgmisi ANSI SQL-i funktsioone:
-
DISTINCT kokkuvõttefunktsiooni viited. Näiteks ei luba Microsoft Access SQL funktsiooni SUM(DISTINCT columnname).
-
Klausel LIMIT TO nn ROWS, mida kasutatakse päringu tagastatavate ridade arvu piiramiseks. Päringu ulatuse piiramiseks saate kasutada ainult WHERE-klausel.