Partager via


Comparaison de Microsoft Access SQL et d’ANSI SQL

S’applique à : Access 2013, Office 2013

Le langage SQL du moteur de base de données Microsoft Access est en général conforme à la norme ANSI-89 de niveau 1. Toutefois, certaines fonctionnalités ANSI SQL ne sont pas implémentées dans Microsoft Access SQL. Inversement, Microsoft Access SQL comporte des mots clés et des fonctionnalités qui ne sont pas prises en charge dans ANSI SQL.

Différences majeures

  • Microsoft Access SQL et ANSI SQL utilisent des mots réservés et des types de données différents. Pour plus d'informations, voir Mots réservés SQL du moteur de base de données Microsoft Access et Types de données équivalents ANSI SQL. Le fournisseur OLE DB du moteur de base de données Microsoft Access utilise d'autres mots réservés.

  • Between…And

    expr1 [NOT] Entrevalue1etvalue2

    Dans Microsoft Access SQL, la valeur1 peut être supérieure à la valeur2 ; dans ANSI SQL, la valeur1 doit être égale ou inférieure à la valeur2.

  • Microsoft Access SQL prend en charge les caractères génériques ANSI SQL et les caractères génériques propres au moteur de base de données Microsoft Access qui sont utilisés avec l'opérateur Like. Les caractères génériques ANSI et du moteur de base de données Microsoft Access s'excluent mutuellement dans les instructions SQL. Vous ne pouvez utiliser qu'un seul type de caractères génériques, vous ne pouvez pas mélanger les deux. Les caractères génériques ANSI SQL ne peuvent être utilisés qu'avec le moteur de base de données Microsoft Access et le fournisseur OLE DB du moteur de base de données Microsoft Access. Si vous essayez d'utiliser les caractères génériques ANSI SQL dans Microsoft Access ou DAO, ils seront interprétés en tant que texte. Le contraire est vrai avec le fournisseur OLE DB du moteur de base de données Microsoft Access.

    Caractère correspondant

    Microsoft Access SQL

    ANSI SQL

    Un seul caractère

    ?

    _ (soulignement)

    Zéro ou plusieurs caractères

    *

    %

  • Microsoft Access SQL est en général moins restrictif. Il permet par exemple de regrouper et d'ordonner des expressions.

  • Microsoft Access SQL prend en charge des expressions plus puissantes.

Fonctionnalités améliorées de Microsoft Access SQL

Microsoft Access SQL comporte les fonctionnalités améliorées suivantes :

Fonctionnalités ANSI SQL non prises en charge dans Microsoft Access SQL

Microsoft Access SQL ne prend pas en charge les fonctionnalités ANSI SQL suivantes :

  • Références de fonction d’agrégation DISTINCT. Par exemple, Microsoft Access SQL n’autorise pas SUM(DISTINCT columnname).

  • la clause LIMIT TO nn ROWS utilisée pour limiter le nombre de lignes renvoyées par une requête. Vous ne pouvez utiliser que la clause WHERE pour limiter l’étendue d’une requête.