Сравнение Microsoft Access SQL и ANSI SQL
Область применения: Access 2013, Office 2013
Sql ядра СУБД Microsoft Access, как правило, соответствует ANSI-89 уровня 1. Однако некоторые функции ANSI SQL не реализованы в Microsoft Access SQL. И наоборот, Microsoft Access SQL включает зарезервированные слова и функции, не поддерживаемые в ANSI SQL.
Основные различия
Microsoft Access SQL и ANSI SQL имеют разные зарезервированные слова и типы данных. Дополнительные сведения см. в разделе Зарезервированные слова SQL ядра СУБД Microsoft Access и эквивалентные типы данных SQL ANSI. С помощью поставщика OLE DB ядра СУБД Microsoft Access есть дополнительные зарезервированные слова.
-
expr1 [NOT] Междузначением1изначением2
В Microsoft Access SQL значение value1 может быть больше, чем значение2; в ANSI SQL значение value1 должно быть равно или меньше значения value2.
Microsoft Access SQL поддерживает как подстановочные знаки SQL ANSI, так и подстановочные знаки , относящиеся к ядру СУБД Microsoft Access для использования с оператором Like . Использование подстановочных знаков ANSI и ядра СУБД Microsoft Access является взаимоисключающим. Вы должны использовать один или другой набор и не можете смешивать их. Подстановочные знаки SQL ANSI доступны только при использовании ядра СУБД Microsoft Access и поставщика OLE DB ядра СУБД Microsoft Access. Если вы попытаетесь использовать подстановочные знаки SQL ANSI в Microsoft Access или DAO, они будут интерпретированы как литералы. Противоположное верно при использовании поставщика OLE DB ядра СУБД Microsoft Access.
Соответствующий символ
Microsoft Access SQL
ANSI SQL
Любой знак
?
_ (знак подчеркивания)
Ноль или более символов
*
%
Microsoft Access SQL, как правило, менее ограничен. Например, он разрешает группирование и упорядочение выражений.
Microsoft Access SQL поддерживает более эффективные выражения.
Расширенные возможности Microsoft Access SQL
Microsoft Access SQL предоставляет следующие расширенные функции:
Инструкция TRANSFORM , которая обеспечивает поддержку перекрестных запросов.
Дополнительные агрегатные функции, такие как StDev и VarP.
Объявление PARAMETERS для определения запросов параметров.
Функции ANSI SQL, не поддерживаемые в Microsoft Access SQL
Microsoft Access SQL не поддерживает следующие функции ANSI SQL:
Ссылки на агрегатные функции DISTINCT. Например, Microsoft Access SQL не разрешает sum(DISTINCT columnname).
Предложение LIMIT TO nn ROWS, используемое для ограничения количества строк, возвращаемых запросом. Для ограничения области запроса можно использовать только предложение WHERE .