Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LECTIONS_BDBZ.doc
Скачиваний:
20
Добавлен:
16.12.2018
Размер:
1.63 Mб
Скачать

Порівняння

Коли порівнюються два вирази, результатом може бути одне з трьох:

  • якщо порівняння – істинне, то результат перевірки матиме значення TRUE;

  • якщо порівняння – хибне, то результат перевірки буде мати значення FALSE;

  • якщо хоча би один із двох виразів має значення NULL, то результат перевірки буде мати значення NULL.

Синтаксична діаграма виразу:

На практиці найчастіше використовуються такі порівняння:

або

Перевірка на належність діапазону значень (between…and…)

Вивести дані про всі відпуски товару, у яких кількість (в одиницях) відпущеного товару лежить в діапазоні від 1000 до 3000:

SELECT *

FROM Vidpusk

WHERE Kilkist BETWEEN 1000 AND 3000

Типи виразу, нижнього та верхнього значень – повинні бути сумісними.

Перевірка

X BETWEEN A AND B

повністю еквівалентна перевірці

( X > = A ) AND ( X <= B)

Правила опрацювання значень NULL в перевірці BETWEEN…AND

  1. Якщо вираз, що перевіряється, має значення NULL, або якщо обидва вирази, що визначають діапазон, дорівнюють NULL, то перевірка BETWEEN ... AND… дає результат NULL.

2) Якщо вираз, що визначає нижню границю діапазону має значення NULL, то перевірка BETWEEN ... AND… дає результат FALSE у випадку, коли вираз, що перевіряється, має значення, більше ніж значення верхньої границі діапазону; і дає результат NULL в іншому випадку:

3) Якщо вираз, що визначає верхню границю діапазону, має значення NULL, то перевірка BETWEEN ... AND… дає результат FALSE у випадку, коли вираз, що перевіряється, має значення, менше ніж значення нижньої границі діапазону; і дає результат NULL в іншому випадку:

При перевірці BETWEEN ... AND… верхня і нижня межа вважаються частинами діапазону. Вираз, що перевіряється, нижня межа та верхня межа діапазону – можуть вказуватися виразами, але на практиці, як правило:

вираз що перевіряється – вказується стовпчик;

нижня та верхня межа – вказуються константи.

Хоча і вираз, що перевіряється, і нижня та верхня межа – можуть бути виразами, на практиці, як правило, вираз, що перевіряється – представляє собою стовпчик, а нижня та верхня межа – визначається константами.

Перевірка на належність множині значень (in)

NOT

,

Вивести дані про всі відпуски товару, в яких кількість відпущеного товару (в одиницях) дорівнює 100, 1000 до 3000:

SELECT *

FROM Vidpusk

WHERE Kilkist IN (100, 1000, 3000)

Перевірка

X IN (A, B, C)

повністю еквівалентна перевірці

( X = A ) OR ( X = B) OR (X = C),

але перевірка IN – набагато ефективніша.

Рекомендується уникати множин, які складаються лише із одного елемента

X IN (A)

- таку перевірку краще замінювати звичайним порівнянням:

X = A

Якщо вираз, що перевіряється, має значення NULL, то результатом перевірки IN буде NULL:

NULL IN (...) → NULL

Всі елементи в списку значень множини повинні бути того самого типу, який повинен бути сумісний із типом виразу, що перевіряється.

Зауваження:

Є ще одна форма перевірки IN, в який список значень формується вкладеним оператором SELECT.

Цей варіант – розглядається в розділі “Вкладені запити”.

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