O SQL do mecanismo de banco de dados do Microsoft Access geralmente é compatível com ANSI -89 Nível 1. No entanto, determinados recursos do SQL ANSI não são implementados no SQL do Microsoft Access. Além disso, o SQL do Microsoft Access inclui palavras reservadas e recursos não compatíveis no SQL ansi.
Principais diferenças
-
O SQL do Microsoft Access e o SQL ANSI têm palavras e tipos de dados reservados diferentes. Usando o Provedor OLE DB da Microsoft, há palavras reservadas adicionais.
-
Regras diferentes se aplicam ao Entre... E construa, que tem a seguinte sintaxe:
expr1 [NOT] Entre o valor1 e o valor2
No SQL do Microsoft Access, o valor1 pode ser maior que o valor2; no SQL ANSI, o valor1 deve ser igual ou menor que o valor2.
-
O SQL do Microsoft Access dá suporte a caracteres curinga do SQL ANSI e caracteres curinga específicos do Microsoft Access a serem usados com o operador Like . O uso dos caracteres curinga ANSI e Microsoft Access é mutuamente exclusivo. Você deve usar um conjunto ou outro e não pode misturá-los. Os curingas DO SQL ANSI só estão disponíveis ao usar o mecanismo de banco de dados do Microsoft Access e o Provedor OLE DB do Microsoft Access. Se você tentar usar os curingas do SQL ANSI por meio de Access ou DAO, eles serão interpretados como literais.
Caractere correspondente
Microsoft Access SQL
ANSI SQL
Um único caractere qualquer
?
_ (sublinhado)
Zero ou mais caracteres
*
%
-
O SQL do Microsoft Access geralmente é menos restritivo. Por exemplo, permite agrupar e ordenar em expressões.
-
O SQL do Microsoft Access dá suporte a expressões mais poderosas.
Recursos aprimorados do SQL do Microsoft Access
O MICROSOFT Access SQL fornece os seguintes recursos aprimorados:
A instrução TRANSFORM, que fornece suporte para consultas cruzadas.
-
Funções agregadas de SQL adicionais, como StDev e VarP.
A declaração PARAMETERS para definir consultas de parâmetro.
Recursos DO SQL ansi não compatíveis no SQL do Microsoft Access
O SQL do Microsoft Access não dá suporte aos seguintes recursos do SQL ANSI:
-
Referências de função de agregação DISTINCT. Por exemplo, o SQL do Microsoft Access não permite sum( nome de coluna DISTINCT).
-
A cláusula LIMIT TO nn ROWS usada para limitar o número de linhas retornadas por uma consulta. Você pode usar apenas o cláusula WHERE para limitar o escopo de uma consulta.