Использование операций IN и NOT IN — КиберПедия 

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...

Использование операций IN и NOT IN

2018-01-07 203
Использование операций IN и NOT IN 0.00 из 5.00 0 оценок
Заказать работу

Оператор IN используется для сравнения некоторого значения со списком значений, при этом проверяется, входит ли значение в предоставленный список или сравниваемое значение не является элементом представленного списка.

Пример 7.7. Определить список товаров, которые имеются на складе.

SELECT Название

FROM Товар

WHERE КодТовараIn

(SELECT КодТовара FROM Склад)

Пример 7.7. Определение списка товаров, которые имеются на складе.

Пример 7.8. Определить список отсутствующих на складе товаров.

 

SELECT Название

FROM Товар

WHERE КодТовара Not In (SELECT КодТовара

FROM Склад)

Пример 7.8. Определение списка отсутствующих на складе товаров.

Пример 7.9. Определить товары, которые покупают клиенты из Москвы.

SELECT DISTINCT Товар.Название,

Клиент.ГородКлиента

FROM Товар INNER JOIN

(Клиент INNER JOIN Сделка

ON Клиент.КодКлиента=Сделка.КодКлиента)

ON Товар.КодТовара=Сделка.КодТовара

WHERE Клиент.ГородКлиента='Москва'

Пример 7.9. Определение товаров, которые покупают клиенты из Москвы.

В результат включаются товары, приобретенные клиентами из Москвы, однако не исключено, что покупателями таких товаров были и клиенты из других городов.

Введение в запрос фразы "только" требует использования операции NOT IN.

Пример 7.10. Определить товары, покупку которых осуществляют только клиенты из Москвы, и никто другой.

SELECT DISTINCT Товар.Название,

Клиент.ГородКлиента

FROM Товар INNER JOIN

(Клиент INNER JOIN Сделка

ON Клиент.КодКлиента=Сделка.КодКлиента)

ON Товар.КодТовара=Сделка.КодТовара

WHERE Товар.Название NOT IN

(SELECT Товар.Название

FROM Товар INNER JOIN

(Клиент INNER JOIN Сделка

ON Клиент.КодКлиента=Сделка.КодКлиента)

ON Товар.КодТовара=Сделка.КодТовара

WHERE Клиент.ГородКлиента<>'Москва')

Пример 7.10. Определение товаров, покупку которых осуществляют только клиенты из Москвы, и никто другой.

Пример 7.11. Какие товары ни разу не купили московские клиенты?

 

SELECT DISTINCT Товар.Название,

Клиент.ГородКлиента

FROM Товар INNER JOIN

(Клиент INNER JOIN Сделка

ON Клиент.КодКлиента=Сделка.КодКлиента)

ON Товар.КодТовара=Сделка.КодТовара

WHERE Товар.Название NOT IN

(SELECT Товар.Название

FROM Товар INNER JOIN

(Клиент INNER JOIN Сделка

ON Клиент.КодКлиента=Сделка.КодКлиента)

ON Товар.КодТовара=Сделка.КодТовара

WHERE Клиент.ГородКлиента='Москва')

Пример 7.11. Определение товаров, которые ни разу не купили московские клиенты?

Во вложенном запросе определяется список товаров, приобретаемых клиентами из Москвы. Во внешнем запросе выбираются только те товары, которые не входят в этот список.

Пример 7.12. Определить фирмы, покупающие товары местного производства.

SELECT DISTINCT Клиент.Фирма, Клиент.ГородКлиента,

Товар.ГородТовара

FROM Товар INNER JOIN

(Клиент INNER JOIN Сделка

ON Клиент.КодКлиента=Сделка.КодКлиента)

ON Товар.КодТовара=Сделка.КодТовара

WHERE Клиент.ГородКлиента=Товар.ГородТовара

Пример 7.12. Определение фирм, покупающих товары местного производства.

В результате выполнения запроса перечисляются сделки, когда клиенту был продан товар, изготовленный в его городе, что совсем не исключает наличие сделок этих же клиентов, связанных с приобретением товара из другого города.

Введем в запрос фразу "только" – сразу потребуется привлечение операции NOT IN.

Пример 7.13. Определить фирмы, которые покупают только товары, произведенные в своем городе, и никакие другие.

SELECT DISTINCT Клиент.Фирма,

Клиент.ГородКлиента,

Товар.ГородТовара

FROM Товар INNER JOIN

(Клиент INNER JOIN Сделка

ON Клиент.КодКлиента=Сделка.КодКлиента)

ON Товар.КодТовара=Сделка.КодТовара

WHERE Клиент.ГородКлиента NOT IN

(SELECT DISTINCT Клиент.ГородКлиента

FROM Товар INNER JOIN

(Клиент INNER JOIN Сделка

ON Клиент.КодКлиента=Сделка.КодКлиента)

ON Товар.КодТовара=Сделка.КодТовара

WHERE Клиент.ГородКлиента<>

Товар.ГородТовара)

Пример 7.13. Определение фирм, которые покупают только товары, произведенные в своем городе, и никакие другие.

Во вложенном запросе определяется множество фирм, совершивших хотя бы одну покупку товара из чужого города. Затем определяются фирмы, не входящие в это множество.


Поделиться с друзьями:

Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...

Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.008 с.