WHEREТовары.Страна_прозводитель NOT IN

FROM

FROM

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

FROM

FROM Товары INNER JOIN

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

FROM

SELECT DISTINCT

FROM

SELECT DISTINCT

FROM Категории Join Товары

SELECT Название_товара

WHERE Название_товара IN

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

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

Пример 7. Выдать список товаров, относящихся к категории «Молочные продукты».

SELECT Название_товара

FROM Товары

On Категории.ID_категории=Товары.Категории

WHERE Название_категории=’Молочные продукты’)

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

В данном случае в запросе участвуют три таблицы – Товары, Продажи, Клиенты

Товары.Название_товара, Клиенты. Фамилия

(Клиенты INNER JOIN Продажи

ON Клиенты.ID_Клиента = Продажи.Клиент)

INNER JOIN Товары

ON Товары. ID_Товара= Продажи.Товар

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

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

Пример 9. Выдать список товаров, которые покупали только клиенты из Москвы, и никто другой.

Товары.Название_товара, Клиенты. Фамилия

Товары INNER JOIN

( Клиенты INNER JOIN Продажи ON Клиенты.ID_Клиента = Продажи.Клиент) ON Товары. ID_Товара= Продажи.Товар

(SELECT Товары, название

( Клиенты INNER JOIN Продажи ON Клиенты.ID_клиента = Продажи.Клиент)

ON Товары.ID_товара = Продажи.Товар

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

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

SELECT DISTINCT Товары.Название_товара, Клиенты. Фамилия

Товары INNER JOIN

( Клиенты INNER JOIN Продажи ON Клиенты.ID_Клиента = Продажи.Клиент) ON Товары. ID_Товара= Продажи.Товар

(SELECT Товары, название_товара FROM Товары INNER JOIN

( Клиенты INNER JOIN Продажи ON Клиенты.ID_клиента = Продажи.Клиент)

ON Товары.ID_товара = Продажи.Товар

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

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

Пример 11. Определить клиентов, покупавших товары российского производства.

SELECT DISTINCT Клиенты.Название_фирмы, Клиенты. Город, Товар.Страна_производитель

Товары INNER JOIN

( Клиенты INNER JOIN Продажи ON Клиенты.ID_Клиента = Продажи.Клиент) ON Товары. ID_Товара= Продажи.Товар

WHERE Товары.Страна_прозводитель = ‘Россия’

Этот запрос не исключает наличие у клиента покупок и других стран-прозводителей.

Введем в запрос фразу «только» и сразу потребуется оператор NOT IN.

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

SELECT DISTINCT Клиенты.Название_фирмы, Клиенты. Город, Товар.Страна_производитель

Товары INNER JOIN

( Клиенты INNER JOIN Продажи ON Клиенты.ID_Клиента = Продажи.Клиент) ON Товары. ID_Товара= Продажи.Товар

(SELECT DISTINCT Товары.Страна_производитель


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: