• выражение. Здесь указываются имена одной или нескольких таблиц, содержащих необходимые данные;
• внешняя База Данных. Вводится имя той базы данных, где расположены таблицы, которые указаны с помощью аргумента выражение, но находятся за пределами текущей БД.
При выполнении операции SELECT Access 2002 находит указанную таблицу или таблицы, извлекает из нее (из них) необходимые столбцы, выделяет строки, которые отвечают условию отбора, а затем сортирует или группирует результирующие строки в заданном порядке. (Отметим, что инструкции SELECT не изменяют ни сами данные, ни их расположение в БД.)
Обычно слово SELECT является первым словом инструкции SQL, поскольку большая часть этих инструкций относится к типу SELECT или SELECT… INTO.
Минимальный синтаксис инструкции SELECT таков:
SELECT поля FROM таблица
Чтобы были отобраны все поля таблицы, добавьте символ звездочки (*).
Если несколько таблиц, включенных в предложение FROM, содержат одноименные поля, то перед именем каждого из таких полей следует ввести имя таблицы и оператор «точка» (.).
Предложение с ключевым словом FROM описывает связи между таблицами. По мере усложнения этих связей все более важную роль играет конструкция INNER JOIN… ON, которая имеет следующий синтаксис:
FROM таблица 1 INNER JOIN таблица 2 ON таблица 1.поле 1 оператор таблица 2.поле 2
Ниже перечислены аргументы операции INNER JOIN:
• таблица_1, таблица_2. Здесь указываются имена таблиц, записи которых нужно объединить;
• поле_1, поле_2. Задаются названия объединяемых полей. Если они не являются числовыми, то должны быть однотипными и содержать однотипные данные. В то же время объединяемые поля могут иметь разные имена;
• оператор. Выбирается любой оператор сравнения (символы, входящие в каждый оператор, заключены в прямые кавычки):
– "=,";
– "<,";
– ">,";
– "<=,";
– ">=,";
– "<>".
Параметр WHERE содержит условия отбора – критерии, вводимые в запрос, и имеет следующий синтаксис:
WHERE условие отбора
Создание объединенной выборки
В предыдущих разделах мы рассмотрели большую группу запросов на выборку, в том числе запросы с использованием нескольких таблиц, объединенных связями. Однако в системе Access 2002 предусмотрены и запросы других типов:
• на создание таблицы;
• на добавление записей в таблицу;
• на удаление записей из таблицы;
• на обновление записей в таблице;
• перекрестный запрос.
Запросы всех названных типов могут не только использоваться по прямому назначению, но и быть частью более сложных, комплексных запросов. Предположим, вам необходимо получить выборку записей из таблиц, не объединенных связями. Мы подробно рассмотрим пример такого запроса, а заодно и работу с запросами перечисленных типов.
Пример сложного запроса
Как вы помните, в объединенном банке данных содержатся три базы данных. Все они имеют различное происхождение. БД ЧЭСи Контроль ЧСнепосредственно связаны с оперативной информацией о всевозможных чрезвычайных ситуациях (ЧС). Следовательно, вполне естественна такая постановка задачи: получить из этих двух баз данных единую выборку сведений о ЧС определенного типа (скажем, происшедших в конкретном регионе).
В том, что таблицы этих БД не соединены связями, нет никакого скрытого подвоха. Конечно, разное происхождение баз данных наложило отпечаток на их структуру: записи из различных БД построены неодинаково, отличаются по составу и формату полей. Все это осложняет работу пользователя. В принципе многие таблицы из разных БД достаточно легко объединить с помощью связей. Однако в каждой базе данных есть свои словари, на которых должны основываться важнейшие таблицы (об этом шла речь в главе 3), поэтому коды одних и тех же понятий могут не совпадать. Информация в базах данных может дублироваться (дата возникновения ЧС, регион и т. д.). Таким образом, связи между обеими БД не реализованы отнюдь не по принципиальным, а скорее по методическим причинам. Но интеграция возможна и в этих условиях. Мы хотели показать читателю, что система Access 2002 позволяет преодолевать серьезные трудности, даже если иногда они создаются несколько искусственно.
Итак, приступим к решению поставленной задачи. Оно включает по крайней мере три последовательных этапа:
• выборка данных из одной таблицы (обычно выбирать записи по каким-либо критериям не нужно, поэтому можно взять исходную таблицу целиком). Назовем этот этап – запрос на выборку;
Читать дальше
Конец ознакомительного отрывка
Купить книгу