Microsoft Access-databaseprogrammet SQL er generelt ANSI -89 Niveau 1-kompatibel. Visse ANSI SQL-funktioner er dog ikke implementeret i Microsoft Access SQL. Microsoft Access SQL indeholder også reserverede ord og funktioner, der ikke understøttes i ANSI SQL.
Større forskelle
-
Microsoft Access SQL og ANSI SQL har hver især forskellige reserverede ord og datatyper. Ved hjælp af Microsoft OLE DB-provider er der flere reserverede ord.
-
Der gælder forskellige regler for Mellem... Og konstruere, som har følgende syntaks:
udtryk1 [NOT] Mellem værdi1 Og værdi2
I Microsoft Access SQL kan værdi1 være større end værdi2. i ANSI SQL skal værdi1 være lig med eller mindre end værdi2.
-
Microsoft Access SQL understøtter både ANSI SQL-jokertegn og Microsoft Access-specifikke jokertegn til brug sammen med operatoren Like . Brugen af ANSI- og Microsoft Access-jokertegn udelukker hinanden. Du skal bruge det ene sæt eller det andet og kan ikke blande dem. ANSI SQL-jokertegnene er kun tilgængelige, når du bruger Microsoft Access-databaseprogrammet og Microsoft Access OLE DB-provideren. Hvis du forsøger at bruge ANSI SQL-jokertegn gennem Access eller DAO, fortolkes de som konstanter.
Matchende tegn
Microsoft Access SQL
ANSI SQL
Ethvert enkelttegn
?
_ (understregningstegn)
Nul eller flere tegn
*
%
-
Microsoft Access SQL er generelt mindre restriktivt. Den tillader f.eks. gruppering og sortering af udtryk.
-
Microsoft Access SQL understøtter mere effektive udtryk.
Forbedrede funktioner i Microsoft Access SQL
Microsoft Access SQL indeholder følgende forbedrede funktioner:
Sætningen TRANSFORM, som understøtter krydstabuleringsforespørgsler.
-
Yderligere SQL-aggregeringsfunktioner, f.eks . StDev og VarP.
PARAMETERS-erklæringen til definition af parameterforespørgsler.
ANSI SQL-funktioner understøttes ikke i Microsoft Access SQL
Microsoft Access SQL understøtter ikke følgende ANSI SQL-funktioner:
-
REFERENCER TIL ENTYDIGE aggregeringsfunktion. Microsoft Access SQL tillader f.eks. ikke SUM( DISTINCT-kolonnenavn).
-
Delsætningen LIMIT TO nn ROWS, der bruges til at begrænse antallet af rækker, der returneres af en forespørgsel. Du kan kun bruge WHERE-delsætning til at begrænse omfanget af en forespørgsel.