РУКОВОДСТВО ПО РЕЛЯЦИОННОЙ СУБД DB2

         

СОЕДИНЕНИЕ ТРЕХ ТАБЛИЦ


Выдать все пары названий городов, таких, что какой-либо поставщик, находящийся в первом из этих городов, поставляет некоторую деталь, хранимую во втором городе. Например, поставщик Sl поставляет деталь Р1. Поставщик Sl находится в Лондоне, а деталь Р1 хранится также в Лондоне. Поэтому пара городов «Лондон, Лондон» — это пара городов, которая содержится в результате.

SELECT                DISTINCT S.ГOPOД, Р.ГОРОД

FROM                   S, SP, P

WHERE                S.HOMEP_ПОСТАВЩИКА = SP.HOMEP_ПОСТАВЩИКА

AND                     SP.HOMEP_ДЕТАЛИ = Р.НОМЕР_ДЕТАЛИ;

Получаем результат:

S.ГOPOД

Р.ГОРОД

Лондон

Лондон

Лондон

Париж

Париж

Лондон

Париж

Рим

Лондон

Париж

В качестве упражнения читателю следует установить, какие конкретно комбинации поставщик — деталь порождают каждую из строк результата в этом примере.



Содержание раздела