Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

FROM Рейсы Т1, Рейсы Т2

WHERE Tl.КОНЕЧНЫЙ_ПУНКТ = Т2.НАЧАЛЬНЫЙ_ПУНКТ;

Рис. 5.5. Таблица достижимости пунктов через один транзитный пункт

 

Рассмотрим данный запрос более подробно. Сначала он выполняет декартово произведение таблицы Рейсы на эту же таблицу. В результате получается таблица с четырьмя столбцами:

Т1.НАЧАЛЬНЫЙ_ПУНКТ, Т1.КОНЕЧНЫЙ_ПУНКТ, Т2.НАЧАЛЬНЫЙ_ПУНКТ

и Т2.КОНЕЧНЫЙ_ПУНКТ. Затем из полученной таблицы выбираются такие записи, в которых T1.конечный_пункт = Т2.начальный_пункт. Это и есть пары пунктов, между которыми в графе достижимости находится один промежуточный пункт. Наконец, из четырех столбцов выделяются только два:

T1.НАЧАЛЬНЫЙ_ПУНКТ и Т2.КОНЕЧНЫЙ_ПУНКТ.

Запрос, содержащий сведения о том, в какие пункты можно по­пасть так или иначе, будет рассмотрен в разд. 5.2.2.

Объединение наборов записей (UNION)

Нередко требуется объединить записи двух или более таблиц с похожими структурами в одну таблицу. Иначе говоря, к набору записей, возвращаемому одним запросом, требуется добавить записи, возвращаемые другим запросом. Для этого служит оператор union (объединение):

Запрос1 UNION Запрос2;

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

Например, таблицы Клиенты и Контакты имеют однотипные столбцы Имя и Адрес. Тогда, чтобы пополнить список данных о клиентах сведениями из таблицы Контакты, достаточно выпол­нить следующий запрос:

SELECT Имя, Адрес FROM Клиенты

UNION


Дата добавления: 2015-07-08; просмотров: 164 | Нарушение авторских прав


Читайте в этой же книге: Правила вывода | Задачи к текущему материалу | Нормальная форма Бойса—Кодда (НФБК) с примером аномалий для 3 формы | ЯЗЫК SQL | FROM СТУДЕНТ | FROM СТУДЕНТ. ЗАПИСЬ | FROM ЗАПИСЬ В | SELECT СТУДЕНТ.Имя | Удаление данных | Уточнения запроса |
<== предыдущая страница | следующая страница ==>
Декартово произведение наборов записей| Внешние соединения

mybiblioteka.su - 2015-2024 год. (0.005 сек.)