Соответствие SQL предложений конструкциям языка скриптов
Схематично команда SELECT в SQL выглядит следующим образом:
SELECT * | { [DISTINCT | ALL] <список полей> .,…}
FROM {<имя таблицы> [<алиас>]}…
[WHERE <условие>]
[GROUP BY {<имя столбца> <целое>} .,…]
[HAVING < условие >]
[ORDER BY {<имя столбца> | <целое>} .,…]
[{UNION [ALL]
SELECT * | { [DISTINCT | ALL] <список полей> .,…}
FROM {<имя таблицы> [<алиас>]}…
[WHERE < условие >]
[GROUP BY {<имя столбца> <целое>} .,…]
[HAVING < условие >]
[ORDER BY {<имя столбца> | <целое>} .,…]
}]…;
Рассмотрим соответствие конструкций языка скриптов различным элементам команды и операторам SQL.
SQL предложение |
Конструкция языка скриптов |
SELECT в целом |
Запрос в целом |
DISTINCT |
Признак ‘Distinct (Исключать дублирующие записи)’ |
ALL |
По умолчанию |
FROM {<имя таблицы> [<алиас>]} |
Раздел ‘FROM (Таблицы)’ |
SELECT <список полей> |
Разделы ‘Параметры’ и ‘Выражения’ |
[WHERE <условие>] |
Раздел ‘WHERE (Ограничения на отбор данных)’ |
[GROUP BY {<имя столбца> <целое>} .,…] |
Раздел ‘GROUP BY (Группировка)’ |
[HAVING < условие >] |
Раздел ‘HAVING (Ограничения на группы строк заданных разделом GROUP BY)’ |
[ORDER BY {<имя столбца> | <целое>} .,…] |
Раздел ‘ORDER BY (Сортировка)’ |
UNION [ALL] |
Условия объединения запросов в разделе ‘FROM (Таблицы)’ |
Операторы сравнения и булевы операторы |
Атрибуты разделов ‘WHERE’ и ‘HAVING’ |
IN |
Для произвольного набора значений реализуется с помощью выражения. Для результатов подзапроса - атрибут ‘IN (равно какому-либо из …) в разделах ‘WHERE’ и ‘HAVING’ |
BETWEEN |
Реализуется с помощью выражения. |
LIKE |
Реализуется с помощью выражения и описанных в проекте функций SQL сервера. |
IS NULL, NOT NULL |
= NULL и <> NULL в выражениях. |
Функции агрегирования: COUNT, SUM, AVG, MAX, MIN |
Описанные в проекте агрегатные функции SQL сервера. |
Соединение таблиц (join) |
Внутреннее соединение реализуется через обычное равенство, а для внешнего соединения используется специальный атрибут ‘Результат (Внешнее соединение таблиц – допустимо отсутствие значения’ |
Алиасы |
Реализуются автоматически, т.к. адресация к полям таблиц (подзапросов) осуществляется с помощью уточняющего параметра к ссылке на таблицу. |
Вложенный запрос (подзапрос) |
Атрибут ‘Запрос’ в разделах ‘WHERE’, ‘HAVING’, ‘FROM (Таблицы)’ |
EXISTS |
Атрибут ‘EXISTS (существует …) в разделах ‘WHERE’ и ‘HAVING’ |
ANY, ALL, SOME |
Реализуется с помощью выражения. |
Нет комментариев