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