Выдать все комбинации информации о поставщиках и деталях, таких, что город местонахождения поставщика следует за городом, где хранится деталь, в алфавитном порядке:
SELECT S.*, P.*
FROM S.P
WHERE S.ГOPOД > Р.ГОРОД;
Получим в результате следующую таблицу 3.
Таблица 3
НОМЕР_ПОСТАВЩИКА | ФАМИЛИЯ | СОСТОЯНИЕ | S.ГОРОД |
S2 S2 S2 S3 S3 S3 | Джонс Джонс Джонс Блейк Блейк Блейк | Париж Париж Париж Париж Париж Париж |
Продолжение табл. 3
НОМЕР_ДЕТАЛИ | НАЗВАНИЕ | ЦВЕТ | ВЕС | Р.ГОРОД |
P1 Р4 Р6 Р1 Р4 Р6 | Гайка Винт Блюм Гайка Винт Блюм | Красный Красный Красный Красный Красный Красный | Лондон Лондон Лондон Лондон Лондон Лондон |
СОЕДИНЕНИЕ С ДОПОЛНИТЕЛЬНЫМ УСЛОВИЕМ
Выдать все комбинации информации о поставщиках и информации о деталях, такие, что рассматриваемые поставщики и детали «соразмещены». Опустить при этом поставщиков с состоянием, равным 20:
SELECT S.*, Р.*
FROM S,P
WHERE S.ГОРОД = Р.ГОРОД
AND S.СОСТОЯНИЕ = 20;
Результат представлен в таблице 4.
Таблица 4
НОМЕР_ПОСТАВЩИКА | ФАМИЛИЯ | СОСТОЯНИЕ | S.ГОРОД |
S2 S2 S3 S3 | Джонс Джонс Блейк Блейк | Париж Париж Париж Париж |
Продолжение табл. 4
|
|
НОМЕР_ДЕТАЛИ | НАЗВАНИЕ | ЦВЕТ | ВЕС | Р.ГОРОД |
P2 Р5 Р2 Р5 | Болт Кулачок Болт Кулачок | Зеленый Голубой Зеленый Голубой | Париж Париж Париж Париж |
ВЫБОРКА СПЕЦИФИЦИРОВАННЫХ ИЗ СОЕДИНЕНИЯ
Выдать все комбинации номеров поставщиков и номеров деталей, таких, что поставщик и деталь соразмещены:
SELECT S.НОМЕР_ПОСТАВЩИКА, Р.НОМЕР_ДЕТАЛИ
FROM S, P
WHERE S.ГОРОД = Р.ГОРОД;
Имеем результат:
НОМЕР_ПОСТАВЩИКА | НОМЕР_ДЕТАЛИ |
S1 S1 S1 S2 S2 S3 S3 S4 S4 S4 | P1 P4 P6 P2 P5 P2 P5 P1 P4 P6 |
СОЕДИНЕНИЕ ТРЕХ ТАБЛИЦ
Выдать все пары названий городов, таких, что какой-либо поставщик, находящийся в первом из этих городов, поставляет некоторую деталь, хранимую во втором городе. Например, поставщик Sl поставляет деталь Р1. Поставщик Sl находится в Лондоне, а деталь Р1 хранится также в Лондоне. Поэтому пара городов «Лондон, Лондон» — это пара городов, которая содержится в результате.
SELECT DISTINCT S.ГOPOД, Р.ГОРОД
FROM S, SP, P
WHERE S.HOMEP_ПОСТАВЩИКА = SP.HOMEP_ПОСТАВЩИКА
AND SP.HOMEP_ДЕТАЛИ = Р.НОМЕР_ДЕТАЛИ;
Получаем результат:
S.ГOPOД | Р.ГОРОД |
Лондон Лондон Лондон Париж Париж | Лондон Париж Рим Лондон Париж |
В качестве упражнения читателю следует установить, какие конкретно комбинации поставщик — деталь порождают каждую из строк результата в этом примере.