Методическое пособие к лабораторным работам по курсу «База данных» Ташкент 2022


SELECT ИМЕНА_СТОЛБЦОВ (1..N) FROM


Download 3.26 Mb.
bet42/91
Sana15.11.2023
Hajmi3.26 Mb.
#1777302
TuriМетодическое пособие
1   ...   38   39   40   41   42   43   44   45   ...   91
Bog'liq
Metodichka BD

SELECT ИМЕНА_СТОЛБЦОВ (1..N)
FROM ИМЯ_ТАБЛИЦЫ
INTERSECT
SELECT ИМЕНА_СТОЛБЦОВ (1..N)
FROM ИМЯ_ТАБЛИЦЫ
Оператор EXCEPT имеет следующий синтаксис:
SELECT ИМЕНА_СТОЛБЦОВ (1..N)
FROM ИМЯ_ТАБЛИЦЫ
EXCEPT
SELECT ИМЕНА_СТОЛБЦОВ (1..N)
FROM ИМЯ_ТАБЛИЦЫ
В этой конструкции единичные запросы могут иметь условия в секции WHERE, а могут не иметь их. При помощи операторов INTERSECT и EXCEPT можно производить операции с запросами как к одной таблице, так и к разным.
В примерах работаем с базой данных сети магазинов и таблицами SOLNYSHKO и VETEROK, содержащими данные о продуктах, которые имеются в магазинах с соответствующими названиями. Таблица SOLNYSHKO:

Prod_ID

ProdName

Maker

Quantity

1

хлеб

AB

100

2

молоко

CD

65

3

мясо

EF

75

4

рыба

GH

60

5

сахар

IJ

45

Таблица VETEROK:



Prod_ID

ProdName

Maker

Quantity

1

хлеб

QW

85

2

молоко

LD

70

3

сыр

MV

45

4

масло

DG

62

5

рыба

LN

55

Пересечением множеств A и B называется множество, состоящее из всех тех или только тех элементов, которые принадлежат каждому из множеств A и B. Больше об операциях над множествами как над математическими объектами можно узнать из урока Множества и операции над множествами. Пересечениями множеств могут служить носители одних и тех же имен в двух студенческих группах, овощи одних и тех же наименований в двух корзинах и другие. Пересечением множеств является, наконец, набор товаров, которые имеются и в одном, и в другом магазинах.


Пример 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. Пишем следующий запрос:
SELECT ProdName
FROM Solnyshko
AS name_soln
WHERE EXISTS (SELECT
ProdName FROM VETEROK WHERE
ProdName=name_soln.ProdName)
Результатом выполнения запроса будет та же таблица, что и в примере 1:

ProdName

хлеб

молоко

рыба

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


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

Download 3.26 Mb.

Do'stlaringiz bilan baham:
1   ...   38   39   40   41   42   43   44   45   ...   91




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