Чтение онлайн

на главную

Жанры

Access 2002. Самоучитель
Шрифт:

Глава 11 Программирование на языке SQL

Как уже говорилось в главе 9, главной «специальностью» языка SQL является конструирование запросов пользователя к базе данных. Поэтому программирование на языке SQL – это в основном формирование таких запросов.

Типы запросов

Запрос SQL – это запрос, создаваемый при помощи инструкций SQL [15] .

Запросы являются основным средством просмотра, изменения и анализа информации, которая содержится в одной или в нескольких таблицах базы

данных. В этой главе, а также в главах 10 и 12, рассматриваются запросы, относящиеся к предметной области, обсуждаемой в настоящей книге.

Перечислим важнейшие типы запросов:

• запрос на выборку;

• запрос на изменение;

• SQL-запрос;

• запрос с параметрами;

• перекрестный запрос.

Запросы на выборку позволяют извлечь информацию, рассчитать показатели и создать перекрестные ссылки, но не изменяют данные в таблицах.

Запросы на изменение дают возможность корректировать информацию, которая содержится в таблицах.

Существует четыре вида запросов на изменение:

• запрос на создание таблицы – создает новую таблицу на основе данных, которые уже размещены в одной или нескольких таблицах;

• запрос на удаление – удаляет все записи из одной или нескольких таблиц на основании критериев, заданных пользователем;

• запрос на присоединение – добавляет целые записи или только указанные поля в одну или больше таблиц;

• запрос на обновление – изменяет данные в существующих таблицах на основании информации в окне конструктора.

Запрос с параметрами – это запрос, при выполнении отображающий в собственном диалоговом окне приглашение ввести данные, например условие для возвращения записей или значение, которое требуется вставить в поле. Можно разработать запрос, выводящий приглашение на ввод нескольких единиц данных, например двух дат. Затем Microsoft Access может вернуть все записи, приходящиеся на интервал времени между этими датами.

Такие типы запросов удобно использовать в качестве основы для форм, отчетов и страниц доступа к данным.

Перекрестные запросы используются для расчетов и представления данных в структуре, облегчающей их анализ. Перекрестный запрос подсчитывает сумму, среднее число значений или выполняет другие статистические расчеты, после чего результаты группируются в виде таблицы по двум наборам данных, один из которых определяет заголовки столбцов, а другой – заголовки строк.

Эти запросы могут формироваться в окне конструктора запросов.

SQL-запросы предназначены для решения более сложных задач и не создаются в названном окне, а кодируются с использованием операторов SQL. Перечислим варианты SQL-запросов:

• запрос на объединение – совмещает поля, которые расположены в одной или нескольких таблицах или запросах;

• запрос к серверу – позволяет забирать информацию непосредственно из ODBC-таблиц (ODBC – Open Database Connectivity, средства работы с открытыми базами данных), так как напрямую связывается с сервером, а не с таблицами системы Access;

• запрос на определение данных – вносит изменения в определение таблицы, то есть позволяет формировать и удалять таблицы, добавлять в них поля и создавать их индексы;

подзапрос – создает оператор внутри существующего запроса на выборку или изменение. Подзапрос выбирает подмножество записей, уже извлеченных главным запросом.

Выполнение любых задач, связанных с таблицами, подразумевает использование языка SQL. Запросы первых трех типов, перечисленных выше, встраиваются в средство просмотра SQL в окне запроса. Чтобы сформировать подзапрос, введите команду SQL SELECT в строке Критерии сетки Конструктор.

Запросы могут создаваться как с помощью конструктора запросов, так и посредством мастера запросов. На наш взгляд, конструктор удобнее: во-первых, его операции оформляются более наглядно, во-вторых, из конструктора легко переходить к инструкциям в форме SQL и наоборот. Тем не менее на конкретном примере будет показано, как формировать запрос при помощи мастера.

Однако, как вы помните, есть и третья форма представления запроса – инструкции SQL. Для большинства запросов (кроме SQL-запросов) между запросом, сформированным посредством конструктора, и инструкцией SQL существует жесткая и однозначная связь. Поэтому в дальнейшем мы будем показывать для каждого создаваемого запроса соответствующую ему инструкцию SQL, а также подробно рассматривать операторы, которые входят в ее состав.

Запросы на выборку

Простые запросы

Под простыми запросами будем понимать запросы, ограниченные одной таблицей и не содержащие каких-либо критериев, условий, фильтров и т. д. Пример такого запроса – вывод какой-либо таблицы полностью, пусть это будет таблица Страны. Чаще всего такая операция необходима, когда надо просмотреть какой-нибудь список – допустим, словарь. Итак, сначала сконструируем простой запрос с помощью мастера.

Формирование запроса с помощью мастера

Откройте окно базы данных и щелкните по кнопке Запросы, чтобы перейти в одноименную вкладку. Затем выберите опцию Создать запрос с помощью мастера.

На экране появится окно Создание простых запросов (см. рис. 11.1), где предлагается выбрать поля для запроса из таблицы или другого запроса (таких таблиц или запросов может быть несколько). Выберите таблицу Страны и с помощью знакомой вам кнопки

перенесите все ее поля в будущий запрос. Затем щелкните по кнопке Далее. Пропустите появившееся промежуточное окно, где вам предлагается задать имя запроса (по умолчанию это будет Страны). Теперь на экране вы видите таблицу (см. рис. 11.2), на которую ориентирован сформированный запрос. Одновременно во вкладке Запросы окна базы данных появится имя вновь созданного запроса – Страны.

Поделиться:
Популярные книги

Леди Малиновой пустоши

Шах Ольга
Любовные романы:
любовно-фантастические романы
6.20
рейтинг книги
Леди Малиновой пустоши

Ст. сержант. Назад в СССР. Книга 5

Гаусс Максим
5. Второй шанс
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Ст. сержант. Назад в СССР. Книга 5

Империя на краю

Тамбовский Сергей
1. Империя у края
Фантастика:
альтернативная история
5.00
рейтинг книги
Империя на краю

На Ларэде

Кронос Александр
3. Лэрн
Фантастика:
фэнтези
героическая фантастика
стимпанк
5.00
рейтинг книги
На Ларэде

Последняя Арена 8

Греков Сергей
8. Последняя Арена
Фантастика:
боевая фантастика
рпг
5.00
рейтинг книги
Последняя Арена 8

Три `Д` для миллиардера. Свадебный салон

Тоцка Тала
Любовные романы:
современные любовные романы
короткие любовные романы
7.14
рейтинг книги
Три `Д` для миллиардера. Свадебный салон

Кровавые обещания

Мид Райчел
4. Академия вампиров
Фантастика:
ужасы и мистика
9.47
рейтинг книги
Кровавые обещания

Возвращение Безумного Бога

Тесленок Кирилл Геннадьевич
1. Возвращение Безумного Бога
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Возвращение Безумного Бога

Любовь Носорога

Зайцева Мария
Любовные романы:
современные любовные романы
9.11
рейтинг книги
Любовь Носорога

Последняя Арена 5

Греков Сергей
5. Последняя Арена
Фантастика:
рпг
постапокалипсис
5.00
рейтинг книги
Последняя Арена 5

Аватар

Жгулёв Пётр Николаевич
6. Real-Rpg
Фантастика:
боевая фантастика
5.33
рейтинг книги
Аватар

Отмороженный 11.0

Гарцевич Евгений Александрович
11. Отмороженный
Фантастика:
боевая фантастика
рпг
попаданцы
фантастика: прочее
фэнтези
5.00
рейтинг книги
Отмороженный 11.0

Ваше Сиятельство 2

Моури Эрли
2. Ваше Сиятельство
Фантастика:
фэнтези
альтернативная история
аниме
5.00
рейтинг книги
Ваше Сиятельство 2

Академия

Кондакова Анна
2. Клан Волка
Фантастика:
боевая фантастика
5.40
рейтинг книги
Академия