На логическом уровне запрос выполняется путем построчного просмотра таблицы, указанной в предложении FROM. Для каждой строки таблицы берутся значения столбцов, входящих в список возвращаемых элементов, и создается одна строка ТРЗ. Таким образом, таблица результатов простого запроса на чтение, подобного приведенному выше, содержит одну строку данных для каждой строки исходной таблицы БД.
В общем случае предложение FROM состоит из ключевого слова FROM, за которым следует список спецификаторов объектов БД, разделенных запятыми. Каждый спецификатор идентифицирует объект БД (базовая таблица, представление), содержащий данные, которые считывает запрос. Такие объекты называются исходными объектами запроса (и запроса SELECT), поскольку все данные, содержащиеся в ТРЗ, берутся из них. В случае однотабличных запросов в предложении FROM указывается только один исходный объект.
Рассмотрим пример запроса, когда в качестве возвращаемых элементов перечислены имена столбцов базовой таблицы.
Пусть активной является учебная БД. Чтобы вывести номера лицевых счетов, фамилии и телефоны всех абонентов, необходимо выполнить следующий запрос к таблице Abonent:
SELECT AccountCD, Fio, Phone FROM Abonent;.
Здесь в качестве возвращаемых элементов используются имена столбцов AccountCD, Fio, Phone базовой таблицы Abonent.
Имя таблицы можно переопределять, чтобы для ссылок на нее использовать короткий (чаще всего ограничивающийся одной буквой) псевдоним (alias), например в следующм виде:
SELECT A.AccountCD, A.Fio, A.Phone FROM Abonent A;.
Результат выполнения двух предыдущих запросов представлен на рис. 3.2.
|
ACCOUNTCD |
FIO |
PHONE |
|
005488 |
АКСЕНОВ С.А. |
556893 |
|
115705 |
МИЩЕНКО Е.В. |
769975 |
|
015527 |
КОНЮХОВ В.С. |
761699 |
|
443690 |
ТУЛУПОВА М.И. |
214833 |
|
136159 |
СВИРИНА З.А. |
350003 |
|
443069 |
СТАРОДУБЦЕВ Е.В. |
683014 |
|
136160 |
ШМАКОВ С.В. |
982222 |
|
126112 |
МАРКОВА В.П. |
683301 |
|
136169 |
ДЕНИСОВА Е.К. |
680305 |
|
080613 |
ЛУКАШИНА Р.М. |
254417 |
|
080047 |
ШУБИНА Т.П. |
257842 |
|
080270 |
ТИМОШКИНА Н.Г. |
321002 |
Рис. 3.2. Результат выполнения запроса к таблице Abonent
предыдущаяследующая