Microsoft Access-databasemotoren SQL er generelt kompatibel med ANSI -89 nivå 1. Enkelte ANSI SQL-funksjoner implementeres imidlertid ikke i Microsoft Access SQL. Microsoft Access SQL inneholder også reserverte ord og funksjoner som ikke støttes i ANSI SQL.
Store forskjeller
-
Microsoft Access SQL og ANSI SQL har hver forskjellige reserverte ord og datatyper. Det finnes flere reserverte ord ved hjelp av Microsoft OLE DB-leverandøren.
-
Ulike regler gjelder for between... Og konstruere, som har følgende syntaks:
uttr1 [NOT] Mellom verdi1 og verdi2
I Microsoft Access SQL kan verdi1 være større enn verdi2. i ANSI SQL må verdi1 være lik eller mindre enn verdi2.
-
Microsoft Access SQL støtter både ANSI SQL-jokertegn og Microsoft Access-spesifikke jokertegn å bruke med Like-operatoren . Bruken av jokertegnene ANSI og Microsoft Access er gjensidig utelukkende. Du må bruke det ene eller det andre settet og ikke blande dem. ANSI SQL-jokertegnene er bare tilgjengelige når du bruker Microsoft Access-databasemotoren og Ole DB-leverandøren for Microsoft Access. Hvis du prøver å bruke ANSI SQL-jokertegn gjennom Access eller DAO, vil de bli tolket som litteraler.
Samsvarende tegn
Microsoft Access SQL
ANSI SQL
Et hvilket som helst enkelttegn
?
_ (understrekingstegn)
Null eller flere tegn
*
%
-
Microsoft Access SQL er generelt mindre restriktiv. Den tillater for eksempel gruppering og sortering av uttrykk.
-
Microsoft Access SQL støtter kraftigere uttrykk.
Forbedrede funksjoner i Microsoft Access SQL
Microsoft Access SQL har følgende forbedrede funksjoner:
TRANSFORM-setningen, som gir støtte for krysstabellspørringer.
-
Flere SQL-mengdefunksjoner, for eksempel StDev og VarP.
PARAMETERS-deklarasjonen for definering av parameterspørringer.
ANSI SQL-funksjoner støttes ikke i Microsoft Access SQL
Microsoft Access SQL støtter ikke følgende ANSI SQL-funksjoner:
-
DISTINCT-mengdefunksjonsreferanser. Microsoft Access SQL tillater for eksempel ikke SUM(DISTINCT columnname).
-
Setningen LIMIT TO nn ROWS brukes til å begrense antall rader som returneres av en spørring. Du kan bare bruke WHERE-setning til å begrense omfanget av en spørring.