Создание запросов 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 () | Значение несмещенной дисперсии для выборки |