WHERE Kilkist IN (100, 1000, 3000)
FROM Vidpusk
Перевірка
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.
Цей варіант – розглядається в розділі “Вкладені запити”.
Перевірка на рівність значенню NULL(IS NULL)
Значення NULL дозволяють застосовувати трьохзначну логіку в умовах відбору. Для будь-якого заданого рядка результатом умови відбору може бути TRUE, FALSE або NULL (якщо в якомусь стовпчику цього рядка міститься значення NULL).
Інколи буває потрібно явно перевіряти значення стовпчика на рівність NULL і безпосередньо опрацювати такі значення.
Ñ- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NULL– означає невідоме або не визначене значення.
Не можна явно записувати у клітинку ′ NULL′ - це літерна величина.
Щоб клітинка отримала значення NULL при заповненні таблиці – треба її залишити порожньою.
В Delphi є метод Clear – очищає поле, робить відповідну клітинку таблиці – порожньою (<=> заносить в неї значення NULL)
Приклад
Table 1 | ||
Field A | Field B | …… |
потрібно очистити це поле
Table 1 Field B . Clear ;
ім’я об’єкта – поля
Але використання метода Clear об’єктів - полів - не відповідає технологіям принципам побудови клієнт-серверних програм – бо цей спосіб очистки поля розрахований на локальні набори даних.
В стандарті SQL є оператор UPDATE, за допомогою якого можна очистити поле – будемо розглядати пізніше.
Ñ- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Для безпосереднього опрацювання NULL – значень в SQL є перевірка IS NULL:
Вивести всі дані про відпуски товарів зі складу, для яких не вказаний покупець:
SELECT *