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

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...

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

2018-01-07 208
Использование операций 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. Определение фирм, которые покупают только товары, произведенные в своем городе, и никакие другие.

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


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

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

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

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

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...



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

0.008 с.