Vergleich von Microsoft Access SQL und ANSI SQL

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

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

Hauptunterschiede

  • Microsoft Access SQL und ANSI SQL verfügen jeweils über unterschiedliche reservierte Wörter und Datentypen. Bei Verwendung des Microsoft OLE DB-Anbieters gibt es zusätzliche reservierte Wörter.

  • Es gelten unterschiedliche Regeln für die ... Und -Konstrukt mit der folgenden Syntax:
    expr1 [NOT] Between value1 and value2
    In Microsoft Access SQL kann wert1 größer als wert2 sein. in ANSI SQL muss value1 gleich oder kleiner als wert2 sein.

  • Microsoft Access SQL unterstützt sowohl ANSI SQL-Wildcardzeichen als auch Microsoft Access-spezifische Wildcardzeichen zur Verwendung mit dem Like-Operator . Die Verwendung der ANSI- und Microsoft Access-Wildcardzeichen schließt sich gegenseitig aus. Sie müssen einen satz verwenden und können sie nicht mischen. Die ANSI SQL-Wildcards sind nur bei Verwendung der Microsoft Access-Datenbank-Engine und des Microsoft Access OLE DB-Anbieters verfügbar. Wenn Sie versuchen, die ANSI SQL-Wildcards über Access oder DAO zu verwenden, werden sie als Literale interpretiert.

    Übereinstimmende 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 beispielsweise das Gruppieren und Sortieren von Ausdrücken.

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

Erweiterte Features von Microsoft Access SQL

Microsoft Access SQL bietet die folgenden erweiterten Features:

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

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

Die PARAMETERS-Deklaration zum Definieren von Parameterabfragen.

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

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

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