ВЫБОРКА С ИСПОЛЬЗОВАНИЕМ IN (принадлежит)
Выдать детали, вес которых равен 12, 16 или 17:
SELECT НОМЕР_ДЕТАЛИ, НАЗВАНИЕ, ЦВЕТ, ВЕС, ГОРОД
FROM P
WHERE ВЕС IN (12, 16, 17);
Результат:
НОМЕР_ДЕТАЛИ
НАЗВАНИЕ
ЦВЕТ
ВЕС
ГОРОД
Р1
Р2
РЗ
Р5
Гайка
Болт
Винт
Кулачок
Красный
Зеленый
Голубой
Голубой
12
17
17
12
Лондон
Париж
Рим
Париж
Предикат IN является в действительности просто краткой записью предиката, представляющего собой последовательность отдельных сравнений, соединенных операторами OR (или). Предыдущее предложение SELECT эквивалентно следующему:
SELECT НОМЕР_ДЕТАЛИ, НАЗВАНИЕ, ЦВЕТ, ВЕС, ГОРОД
FROM P
WHERE ВЕС = 12
OR ВЕС = 16
OR ВЕС = 17;
Имеется в распоряжении также предикат NOT IN (не принадлежит), например предложение:
SELECT НОМЕР_ДЕТАЛИ, НАЗВАНИЕ, ЦВЕТ, ВЕС, ГОРОД
FROM P
WHERE ВЕС NOT IN (12, 16, 17);
дает результат:
НОМЕР_ДЕТАЛИ
НАЗВАНИЕ
ЦВЕТ
ВЕС
ГОРОД
Р4
Р6
Винт
Блюм
Красный
Красный
14
19
Лондон
Лондон
Подобно предикату IN предикат NOT IN может рассматриваться только как сокращенная запись другого предиката, который не использует NOT IN. Упражнение.
Запишите «развернутую форму» предложения из предшествующего примера.