Sammenligning mellem Microsoft Access SQL og ANSI SQL

Microsoft Access-databaseprogrammets Structured Query Language (SQL) er generelt kompatibel med ANSI SQL-forespørgselstilstand-89 Level 1. Dog er visse ANSI SQL-funktioner ikke implementeret i Microsoft Access SQL. I Microsoft Access version 4.X stiller Microsoft OLE DB-provider til Access mere ANSI-92 SQL-syntaks til rådighed. Omvendt indeholder Microsoft Access SQL reserverede ord og funktioner, der ikke er understøttet i ANSI SQL.

Vigtigste forskelle

  • I Microsoft Access SQL og ANSI SQL benyttes forskellige reserverede ord og datatyper. Antallet af reserverede ord er større, når du bruger Microsoft OLE DB-provider.

  • Der gælder forskellige regler for konstruktioner af typen Between...And, som benytter følgende syntaks:

    udtryk1 [NOT] Betweenværdi1Andvæ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. ANSI- og Microsoft Access-jokertegn er uforenelige. Du skal enten bruge det ene sæt eller det andet – du kan ikke blande dem. ANSI SQL-jokertegn er kun tilgængelige, når du bruger Microsoft Access-databaseprogrammet og Microsoft Office Access 2007 OLE DB-provider. Hvis du forsøger at bruge ANSI SQL-jokertegn i Office Access 2007 eller DAO (Data Access Objects), fortolkes de som konstanttegn.

Ens tegn

Microsoft Access SQL

ANSI SQL

Et enkelt tegn

?

_ (understregningstegn)

Nul eller flere tegn

*

%

  • Microsoft Access SQL er oftest mindre restriktiv. Gruppering og sortering af udtryk er f.eks. tilladt.

  • Microsoft Access SQL understøtter mere virkningsfulde udtryk.

Udvidede funktioner i Microsoft Access SQL

Microsoft Access SQL indeholder følgende udvidede funktioner:

Sætningen TRANSFORM, som understøtter krydstabuleringsforespørgsel.

  • Yderligere SQL-aggregatfunktioner, f.eks. StDev og VarP.

Erklæringen PARAMETERS til brug for definition af parameterforespørgsel.

ANSI SQL-funktioner, der ikke er understøttet i Microsoft Access SQL

Microsoft Access SQL understøtter ikke følgende ANSI SQL-funktioner:

  • Referencer i DISTINCT-aggregatfunktioner. Microsoft Access SQL tillader f.eks. ikke SUM(DISTINCT kolonnenavn).

  • Delsætningen LIMIT TO nn ROWS 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 en forespørgsels virkefelt.



Del Facebook Facebook Twitter Twitter Mail Mail

Var disse oplysninger nyttige?

Fantastisk! Har du mere feedback?

Hvordan kan vi forbedre det?

Tak for din feedback!

×