ЛЕКЦІЯ 10. Операції над множинами
| Сайт: | Навчально-інформаційний портал НУБіП України |
| Курс: | Організація баз даних (КН+ІПЗ). Ч1☑️ |
| Книга: | ЛЕКЦІЯ 10. Операції над множинами |
| Надруковано: | Гість-користувач |
| Дата: | неділя, 15 лютого 2026, 20:59 |
1. Використання предикатів ANY, ALL, EXISTS і IN.
Предикати ANY І ALL слідують за одним із предикатів =, !=, >, <, <=, >= і перевіряє, чи виконується цей предикат хоча б для одного (при ANY) або для всіх (при ALL) значеннях множини, заданої в правій частині, по відношенню до елементу, заданого у лівій частині.
2. Основні поняття
Визначення
Мова SQL має три теоретико-множинні оператори:
-
üUNION,
-
üINTERSECT,
-
üMINUS.
Вони дозволяють об'єднувати, перетинати і отримувати різність двох множин. Аргументами цих операторів є відношення, отримані в результаті виконання пропозицій SELECT. Таблиці-операнди повинні бути сумісними по теоретико-множинним операціям. Це означає, що вони повинні мати однакову кількість стовпців і відповідні пари стовпців повинні мати сумісний тип даних.
Приклад 1
Вивести факультети, розташовані в корпусах 5 і 6:
SELECT Name FROM FACULTY WHERE Building = 5
INTERSECT
SELECT Name FROM FACULTY WHERE Building = 6
Або:
SELECT Name FROM FACULTY WHERE Building = 5 AND NAME IN (SELECT Name FROM FACULTY WHERE Building = 6).
Приклад 2
Вивести імена викладачів, що викладають лекції з дисципліни "Бази даних", але які не викладають лекції з дисципліни "Програмування":
SELECT T.Name FROM TEACHER T, LECTURE L, SUBJECT S
WHERE T.#T = L.T AND L.#S = S.#S AND S.Name = 'Бази даних'
MINUS
SELECT T.Name FROM TEACHER T, LECTURE L, SUBJECT S
WHERE T.#T = L.T AND L.#S = S.#S AND S.Name = 'Програмування‘
Або:
SELECT T.Name FROM TEACHER T, LECTURE L, SUBJECT S
WHERE T.#T = L.T AND L.#S = S.#S AND S.Name = 'Бази даних' AND
T.Name NOT IN (SELECT T.Name FROM TEACHER T, LECTURE L, SUBJECT S WHERE T.#T = L.T AND L.#S = S.#S AND S.Name = 'Програмування').
3. Використання невизначених значень
-
Якщо при завантаженні даних не введено значення в будь-яке поле таблиці, то СУБД розмістить в нього NULL-значення.
-
oАналогічне значення можна ввести в поле таблиці, виконуючи операцію змінення даних.
-
oМова SQL надає можливість маніпулювати невизначеними значеннями. При цьому використовується логіка, в якій саме NULL-значення не вважається рівним іншому NULL-значенню.
Приклад 1
Необхідно підрахувати середній фонд фінансування кафедр за умови, що фонд дійсно заданий:
SELECT AVG (Fund)
FROM DEPARTMENT
WHERE Fund IS NOT NULL
Приклад 2
Необхідно вивести імена кафедр, для яких не заданий фонд фінансування:
SELECT Name
FROM DEPARTMENT
WHERE Fund IS NOT NULL
Шрифти
Розмір шрифта
Колір тексту
Колір тла
Кернінг шрифтів
Видимість картинок
Інтервал між літерами
Висота рядка
Виділити посилання
Вирівнювання тексту
Ширина абзацу