Иллюстрированный самоучитель по Microsoft Access 2002

Создание запросов SQL. Сравнение ANSI и Jet SQL.

Функции и операторы Access, используемые вместо ключевых слов ANSI SQL

Часть зарезервированных слов ANSI SQL заменяется в Jet SQL операторами или функциями. В табл. 8.4 перечислены функции и операторы Jet SQL, которые соответствуют зарезервированным словам ANSI SQL.

Таблица 8.4. Функции и операторы Access, используемые вместо зарезервированных слов ANSI SQL.

Access ANSI SQL
And AND
Avg () AVG()
Between BETWEEN
Count () COUNT
Is IS
Like LIKE
Мах() MAX()
Min() MIN()
Not NOT
Null NULL
Or OR
Sum() SUM

Функция Access IsNull(), возвращающая значение True (-1), если ее аргумент равен пустому значению, и False (0) – в обратном случае, не имеет эквивалента в ANSI SQL и не является заменой модификаторов is Null или is Not Null в предложении WHERE. Кроме того, Jet SQL не поддерживает статистические функции по подмножеству, аргументом которых является любое выражение с параметром DISTINCT, например AVG (DISTINCT имя__поля). В таких случаях требуется использовать параметр DISTINCTROW в инструкции SELECT. Выражения, в которых применяются операторы, такие как, например, And или Or, заключаются в инструкциях Jet SQL в скобки.

Оператор Between…And, который имеет синтаксис:

<выражение> [NOT] BETWEEN <значение_1> AND <значение_2>

…по-разному трактуется в языках Jet SQL и ANSI SQL. В языке Jet SQL значение_1 может превышать значение_2; в ANSI SQL значение_1 должно быть меньше или равно значение_2.

Зарезервированные слова Jet SQL и функции, не входящие в ANSI SQL

Существует несколько зарезервированных слов Jet SQL, которые не имеют аналогов в ANSI SQL. Это слова:

  • DISTINCTROW – позволяет исключить из результирующего множества запроса повторяющиеся строки;
  • PIVOT – используется в перекрестных запросах;
  • TRANSFORM – создание перекрестного запроса.

Кроме того, Jet позволяет использовать четыре статистические функции по подмножеству, не включенные в ANSI SQL (табл. 8.5).

Таблица 8.5. Дополнительные статистические функции Access SQL.

Функция Access Назначение
StdDev() Смещенное значение среднеквадратичного отклонения для выборки
StdDevP () Несмещенное значение среднеквадратичного отклонения для выборки
Var () Значение смещенной дисперсии для выборки
VarP () Значение несмещенной дисперсии для выборки
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.