Die Microsoft Access-Datenbankmodul-SQL im Allgemeinen ANSI -89 Level 1-kompatibel. Bestimmte ANSI-SQL werden jedoch nicht in Microsoft Access SQL. Außerdem enthält Microsoft Access SQL reservierte Wörter und Features, die in ANSI-Anwendungen nicht SQL.
Hauptunterschiede
-
Microsoft Access SQL und ANSI SQL jeweils unterschiedliche reservierte Wörter und Datentypen. Mithilfe des Microsoft OLE DB-Anbieters gibt es weitere reservierte Wörter.
-
Unterschiedliche Regeln gelten für die Zwischen... Und Konstrukt, das die folgende Syntax hat:
expr1 [NOT] Between value1 and value2
In Microsoft Access SQL Wert1 größer als Wert2 sein. in ANSI SQL 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 Operator "Gefällt mir" verwendet werden können. Die Verwendung der AnSI- und Microsoft Access-Platzhalterzeichen schließen sich gegenseitig aus. Sie müssen den einen oder anderen Satz 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 sie als Literale interpretiert.
Übereinstimmendes Zeichen
Microsoft Access SQL
ANSI SQL
Ein einzelnes Zeichen
?
_ (Unterstrich)
0 oder mehr Zeichen
*
%
-
Microsoft Access SQL im Allgemeinen weniger restriktiv. Sie ermöglicht z. B. das Gruppieren und Ordnen 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 bietet.
-
Weitere SQL Aggregatfunktionen, z. B. StDev und VarP.
Die PARAMETER-Deklaration zum Definieren von Parameterabfragen.
ANSI SQL Features Not Supported in Microsoft Access SQL
Microsoft Access SQL unterstützt die folgenden ANSI-SQL nicht:
-
Verweise auf die DISTINCT-Aggregatfunktion. Microsoft Access SQL z. B. summe(DISTINCT columnname) nicht zu.
-
Die LIMIT TO nn ROWS-Klausel, mit der die Anzahl der von einer Abfrage zurückgegebenen Zeilen begrenzt wird. Sie können nur die WHERE-Klausel verwenden, um den Umfang einer Abfrage zu beschränken.