Запрос SQL – это запрос, создаваемый при помощи инструкций SQL (выражения, определяющего команду SQL, например SELECT, UPDATE или DELETE, и включающего предложения, например WHERE или ORDER BY; обычно используются в запросах и в статистических функциях). Язык SQL (Structured Query Language) используется при создании запросов, а также для обновления и управления реляционными базами данных, такими как базы данных Microsoft Access.
Когда пользователь создает запрос в режиме Конструктор запроса, Microsoft Access автоматически создает эквивалентную инструкцию SQL. Фактически, для большинства свойств запроса, доступных в окне свойств в режиме конструктора, имеются эквивалентные предложения или параметры языка SQL, доступные в режиме SQL (окна, в которых выводится инструкция SQL текущего запроса или которые используются для создания запроса SQL (запроса на объединение, запроса к серверу или управляющего запроса). При создании запроса в режиме Конструктор запросов Microsoft Access автоматически создает эквивалентную инструкцию SQL в режиме SQL. При необходимости пользователь имеет возможность просматривать и редактировать инструкции SQL в режиме SQL. После внесения изменений в запрос в режиме SQL его вид в режиме конструктора может измениться.
1. Запрос на объединение объединяет поля из двух или нескольких таблиц или запросов в одно поле в результатах запроса. Такие запросы обычно используют для объединения данных из двух таблиц.
2. Запросы к серверу отправляют команды непосредственно в базы данных ODBC, такие как Microsoft FoxPro, причем используются только команды, поддерживаемые сервером. Например, запрос к серверу можно использовать для загрузки записей или изменения данных. Запросы к серверу позволяют работать непосредственно с таблицами на сервере, не прибегая к их связыванию. Запросы к серверу также рекомендуется использовать для запуска сохраненных процедур на сервере ODBC.
3. Управляющий запрос создает, удаляет или изменяет таблицы или создает индексы в таблице базы данных. Например, в следующем управляющем запросе инструкция CREATE TABLE используется для создания таблицы «Друзья». Приведенная инструкция определяет имена и типы данных для полей таблицы и создает для поля «Код» индекс, делающий это поле ключевым.
4. Подчиненный запрос представляет собой инструкцию SQL SELECT, вложенную в запрос на выборку или запрос на изменение. Чтобы определить новое поле, данную инструкцию можно ввести в строку Поле в бланке запроса. Чтобы указать для данного поля условие отбора, введите инструкцию в строку Условие отбора. Подчиненные запросы используются для следующего:
· проверка наличия результатов подчиненного запроса (используются зарезервированные слова EXISTS или NOT EXISTS);
· поиск значений в основном запросе, которые равны, превышают или меньше значений, возвращаемых подчиненным запросом (используются зарезервированные слова ANY, IN или ALL);
· создания подчиненных запросов внутри подчиненных запросов (вложенные запросы).
Можно выделить несколько классов команд SQL: определения данных, манипулирования данными, управления транзакциями, управления данными (доступами к ним). Последние два класса инструкций применяются в запросах к SQL-серверам, а первые два класса – и в запросах к локальным СУБД.
Транзакция БД – это единица работы, состоящая из одной или нескольких инструкций. Транзакцию нельзя разбить на отдельные запросы. Например, перечисление денег предполагает именно две неотделимые друг от друга операции: уменьшение суммы на одном счете в БД и равнозначное увеличение на другом счете.