Добавил:
СПбГУТ * ИКСС * Программная инженерия Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основное / Письменные лекции по дисциплине «Базы данных».docx
Скачиваний:
89
Добавлен:
29.11.2021
Размер:
713.33 Кб
Скачать

5. Разность

SELECT <columns...> FROM <table1>

EXCEPT

SELECT <columns...> FROM <table2>

Выбирает все наборы значений (по столбцам <columns...>) таблицы <table1> и все наборы значений (по тем же столбцам <columns...>) таблицы <table2>, по итогу образуя таблицу их разности (т. е. те кортежи, которые есть в первой таблице и при этом отсутствуют во второй).

Пример

Имя

Возраст

Вес

Harry

34

80

Sally

28

64

George

29

70

Helena

54

54

Peter

34

80

Имя

Возраст

Вес

Daffy

24

19

George

29

70

Donald

25

23

Scrooge

81

27

Sally

28

64

SELECT Имя, Возраст, Вес FROM Персоны

EXCEPT

SELECT Имя, Возраст, Вес FROM Персонажи

Имя

Возраст

Вес

Harry

34

80

Helena

54

54

Peter

34

80

6. Произведение

SELECT <columns...> FROM <tables...>

Выбирает все наборы значений (по столбцам <columns...>) по указанным таблицам <tables...>.

Пример

Код_мульта

Название_мульта

0

The Simpsons

1

Family Guy

2

Duck Tales

Код_канала

Название_канала

0

СТС

1

2x2

SELECT * FROM Мультфильмы, Каналы

Код_мульта

Название_мульта

Код_канала

Название_канала

0

The Simpsons

0

СТС

0

The Simpsons

1

2x2

1

Family Guy

0

СТС

1

Family Guy

1

2x2

2

Duck Tales

0

СТС

2

Duck Tales

1

2x2

7. Деление

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

Пример

Код_мульта

Название_мульта

Название_канала

0

The Simpsons

RenTV

0

The Simpsons

2x2

0

The Simpsons

СТС

1

Family Guy

RenTV

1

Family Guy

2x2

2

Duck Tales

СТС

2

Duck Tales

2x2

Название_канала

RenTV

2х2

Family Guy и The Simpsons — мультфильмы, которые показывались и на RenTV, и на 2x2 (условие во второй таблице). При этом Duck Tales не показывалось по RenTV, потому был исключен из результирующей таблицы.

Код_мульта

Название_мульта

0

The Simpsons

1

Family Guy