Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SQL_mova_strukturovanikh_zapitiv.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
933 Кб
Скачать
☆

4.2.2. Вирази, умови та оператори

У мові SQL існує багато різновидів виразів, у яких використовуються дані різних типів - рядки, числа, логічні значення. Конструкція SELECT...FROM...WHERE також є виразом, не кажучи вже про просте згадування імені стовпця у фразі SELECT.

Умова — це вираз, що повертає логічне значення — TRUE чи FALSE. Умовні вира­зи обов'язково використовуються у фразі WHERE, а також можуть застосовуватися в інших фразах, наприклад SELECT. Прикладом умовного виразу є конструкція Посада = <професор>.

Оператори — це конструкції, що використовуються у виразах для означення певних дій над даними. Є кілька типів операторів: арифметичні, логічні, теорети-ко-множинні, оператори порівняння, оператори над рядками. У конкретних сис­темах списки цих операторів можуть відрізнятися, зокрема бути ширшими, ніж наведений далі список.

4 Арифметичні оператори: +, -,*,/.

4 Оператор зчеплення рядків 11.

4 Теоретико-множинні оператори: UNION, INTERSECT, EXCEPT (або MINUS).

4 Логічні оператори: AND, OR, NOT.

4 Оператори порівняння: >, <, =, <>, >=, <=.

Оператори порівняння, їхнє призначення та приклади використання наведені в табл. 4.1.

Таблиця 4.1. Оператори порівняння

Оператор


Приклад


Призначення

Перевірка на рівність

Перевірка на нерівність

Перевірка, чи одне значення більше або менше іншого


SELECT * FROM КАФЕДРА WHERE Фонд = 1500

|= *= О. -ш


SELECT * FROM КАФЕДРА WHERE Фонд != 1500

SELECT * FROM КАФЕДРА

WHERE Фонд > 1500

SELECT * FROM КАФЕДРА

WHERE Фонд < 1500

Перевірка, чи одне значення не менше або не більше іншого


SELECT * FROM ФАКУЛЬТЕТ WHERE Фонд >= 1500 SELECT * FROM ФАКУЛЬТЕТ WHERE Фонд <= 1500

IN


Перевірка на належність елементу множині


SELECT * FROM ВИКЛАДАЧ WHERE Посада IN ("професор"."доцент") SELECT * FROM ВИКЛАДАЧ WHERE Посада IN (SELECT Посада

FROM ВИКЛАДАЧ

WHERE tel =

"5261815")

NOT IN


Еквівалентний != ALL. Перевірка на неналежність елементу множині


SELECT * FROM ВИКЛАДАЧ WHERE Посада NOT IN ("професор"."доцент") SELECT * FROM ВИКЛАДАЧ WHERE Посада NOT IN (SELECT Посада

FROM ВИКЛАДАЧ

WHERE tel =

"5261815")

ANY, SOME


Використовуються разом із предикатом =, ! =, >, <, <= або >=. Перевіряють, чи істинний цей предикат хоча б для одного елементу множини, заданої у правій частині оператора, відносно елементу, заданого в лівій частині


SELECT * FROM ФАКУЛЬТЕТ

WHERE Фонд = ANY (SELECT Фонд FROM ФАКУЛЬТЕТ WHERE Корпус = 7)

Таблиця 4.1 (продовження)

Приклад

Оператор


Призначення

SELECT * FROM ФАКУЛЬТЕТ WHERE Фонд >= ALL(1400.3000)

SELECT Назва

FROM Факультет

WHERE EXISTS (SELECT * FROM Кафедра WHERE Кафедра^ = Факультет. #F)

SELECT Назва FROM Кафедра WHERE Фонд IS NULL


ALL


Використовується разом з предикатом =, ! =, >, <, <= або >=. Перевіряє, чи істинний цей предикат для всіх елементів множини, заданої у правій частині оператора, відносно елементу, заданого в лівій частині

EXISTS


Повертає TRUE, якщо підзапит, до якого застосовується оператор, містить хоча б один рядок

IS [NOT] NULL Перевірка на рівність значенню NULL

Розглянемо на прикладах використання цих операторів. Запит 4.1 '

Визначити групи, де кількість студентів становить від 40 до 50 осіб, а також кур­си, які їм відповідають.

SELECT Номер. Курс

FROM ГРУПА

WHERE Кількість >= 40 AND Кількість <= 50

Запит 4.2

Визначити прізвища й посади професорів та асистентів.

SELECT Прізвище, Посада

FROM ВИКЛАДАЧ

WHERE Посада = "професор" OR Посада = "асистент"

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]