Vergleich von Microsoft Access SQL und ANSI SQL

Gilt für
Access für Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

SQL des Microsoft Access-Datenbankmoduls ist im Allgemeinen mit ANSI -89 Level 1 kompatibel. Bestimmte ANSI SQL-Features sind jedoch in Microsoft Access SQL nicht implementiert. Außerdem enthält Microsoft Access SQL reservierte Wörter und Funktionen, die in ANSI SQL nicht unterstützt werden.

Wesentliche Unterschiede

  • Microsoft Access SQL und ANSI SQL weisen jeweils unterschiedliche reservierte Wörter und Datentypen auf. Bei Verwendung des Microsoft OLE DB-Providers gibt es zusätzliche reservierte Wörter.

  • Für die Zwischenräume gelten unterschiedliche Regeln ... And construct mit der folgenden Syntax:
    Ausdr1 [NICHT] Zwischen Wert1 Und Wert2
    In Microsoft Access SQL kann Wert1 größer als Wert2 sein. In ANSI SQL muss Wert1 gleich oder kleiner als Wert2 sein.

  • Microsoft Access SQL unterstützt sowohl ANSI SQL-Platzhalterzeichen als auch Microsoft Access-spezifische Platzhalterzeichen, die mit dem Like-Operator verwendet werden. Die Verwendung der Platzhalterzeichen für ANSI und Microsoft Access schließt sich gegenseitig aus. Sie müssen das eine oder das andere Set verwenden und können sie nicht mischen. Die ANSI SQL-Platzhalter sind nur verfügbar, wenn Sie das Microsoft Access-Datenbankmodul und den Microsoft Access OLE DB-Anbieter verwenden. Wenn Sie versuchen, die ANSI SQL-Platzhalter über Access oder DAO zu verwenden, werden diese als Literale interpretiert.

    Passendes Zeichen Microsoft Access SQL ANSI SQL
    Ein einzelnes Zeichen ? _ (Unterstrich)
    0 oder mehr Zeichen * %
  • Microsoft Access SQL ist im Allgemeinen weniger restriktiv. Sie ermöglicht z. B. das Gruppieren und Sortieren von Ausdrücken.

  • Microsoft Access SQL unterstützt leistungsfähigere Ausdrücke.

Erweiterte Funktionen von Microsoft Access SQL

Microsoft Access SQL stellt die folgenden erweiterten Features bereit:

Die TRANSFORM-Anweisung, die Unterstützung für Kreuztabellenabfragen bietet.

  • Zusätzliche SQL-Aggregatfunktionen , z. B. StDev und VarP.

Die PARAMETERS-Deklaration zum Definieren von Parameterabfragen.

ANSI SQL-Features, die in Microsoft Access SQL nicht unterstützt werden

Microsoft Access SQL unterstützt die folgenden ANSI SQL-Features nicht:

  • DISTINCT-Aggregatfunktionsverweise. Beispielsweise lässt Microsoft Access SQL SUMME(DISTINCT columnname) nicht zu.
  • Die Klausel LIMIT TO nn ROWS, mit der die Anzahl der von einer Abfrage zurückgegebenen Zeilen beschränkt wird. Sie können nur die WHERE-Klausel verwenden, um den Umfang einer Abfrage einzuschränken.