Самостоятельная работа Создание запросов с использованием стандартных слов union, intersect и minus по дисциплине «Базы данных»


Скрипт для создания базы данных магазинов, её таблиц и заполения таблиц данными - в


Download 61.34 Kb.
bet5/9
Sana25.12.2022
Hajmi61.34 Kb.
#1065867
TuriСамостоятельная работа
1   2   3   4   5   6   7   8   9
Bog'liq
4-Labaratoriya ishi Mavzu Union, Intersect va Minus standart

Скрипт для создания базы данных магазинов, её таблиц и заполения таблиц данными - в файле по этой ссылке.
Пример 1. Вывести список продуктов, которые имеются и в мазазине Solnyshko, и в магазине Veterok. Пишем следующий запрос с использованием оператора SQL INTERSECT:

SELECT ProdName


FROM Solnyshko
INTERSECT
SELECT ProdName
FROM Veterok
Результатом выполнения запроса будет следующая таблица:

ProdName

хлеб

молоко

рыба

Во многих диалектах SQL, например, MySQL, оператор INTERSECT отсутствует. Но реализация операции пересечения множеств возможна другими способами. Наиболее простой способ связан с использованием предиката EXISTS. В качестве альтернативы им можно пользоваться и в MS SQL Server.
Пример 2. Вывести список продуктов, которые имеются и в мазазине Solnyshko, и в магазине Veterok. Использовать предикат SQL EXISTS. Пишем следующий запрос:

SELECT ProdName


FROM Solnyshko
AS name_soln
WHERE EXISTS (SELECT
ProdName FROM VETEROK WHERE
ProdName=name_soln.ProdName)
Результатом выполнения запроса будет та же таблица, что и в примере 1:

ProdName

хлеб

молоко

рыба

  • Аналогии между INTERSECT и EXISTS, EXCEPT и NOT EXISTS: более сложные примеры

Разность множеств: оператор SQL EXCEPT и его альтернативы
Разностью множеств A и B называется множество состоящее из всех тех и только тех элементов множества A, которые не являются элементами множества B. В частности, такое множество может состоять из продуктов, которые имеются в одном из магазинов, но отсутствуют в другом магазине.
Пример 3. Вывести список продуктов, которые имеются в мазазине Solnyshko, и отсутствуют в магазине Veterok. Пишем следующий запрос с использованием оператора SQL EXCEPT:

SELECT ProdName


FROM Solnyshko
EXCEPT
SELECT ProdName
FROM Veterok
Результатом выполнения запроса будет следующая таблица:

ProdName

мясо

сахар

Во многих диалектах SQL, например, MySQL, оператор EXCEPT отсутствует. Наиболее простой альтернативный способ реализации разности множеств связан с использованием предиката EXISTS с отрицанием NOT, то есть NOT EXISTS. В качестве альтернативы им можно пользоваться и в MS SQL Server.
Пример 4. Вывести список продуктов, которые имеются в мазазине SOLNYSHKO, и отсутствуют в магазине VETEROK. Использовать предикат SQL NOT EXISTS. Пишем следующий запрос:

SELECT ProdName


FROM Solnyshko
AS name_soln
WHERE NOT EXISTS (SELECT
ProdName FROM Veterok WHERE
ProdName=name_soln.ProdName)



Download 61.34 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling