Лекция: SELECT * FROM Table WHERE Field IS NULL
Необходимо отметить, что язык SQL, в отличие от языков программирования, имеет встроенные средства поддержки факта отсутствия каких-либо данных. Осуществляется это с помощью NULL-концепции. NULL не является каким-то фиксированным значением, хранящимся в поле записи вместо реальных данных. Значение NULL не имеет определенного типа. NULL – это индикатор, говорящий пользователю (и SQL) о том, что данные в поле записи отсутствуют. Поэтому его нельзя использовать в операциях сравнения. Для проверки факта наличия-отсутствия данных в SQL введены специальные выражения.
Выражение [NOT] LIKE используется при проверке текстовых данных на [не]соответствие заданному шаблону. Символ ‘%’ (процент) в шаблоне заменяет собой любую последовательность символов, а символ ‘_’ (подчеркивание) – один любой символ.
SELECT * FROM Employees WHERE Name LIKE ‘Иван%’
Попадающие под заданное условие фамилии: Иванов
SELECT * FROM Employees WHERE Name LIKE ‘__д%’
Попадающие под заданное условие фамилии: Сидоров
Выражение [NOT] IN проверяет значения на [не]вхождение в определенный список:
SELECT * FROM Employees WHERE Position IN (‘Начальник’, ‘Менеджер’)
Выражение [NOT] BETWEEN проверяет значения на [не]попадание в некоторый диапазон:
SELECT * FROM Employees WHERE Salary BETWEEN 200 AND 500
Этот запрос вернет список работников, зарплата которых больше либо равна 200 у.е. и меньше либо равна 500 у.е.
Несколько условий поиска могут комбинироваться посредством логических операторов AND, OR или NOT:
SELECT *
FROM Employees
WHERE Position IN (‘Начальник’, ‘Менеджер’)
AND Salary BETWEEN 200 AND 500
SELECT *
FROM Employees
WHERE (Position = ‘Начальник’ OR Position =
‘Менеджер’)
AND Salary BETWEEN 200 AND 500
SELECT *
FROM Employees
WHERE NOT (Position = ‘Начальник’ OR Position =
‘Менеджер’)