Галерея
7757 8119 8300 8698 8817 9504 9722 9937
Интересные записи
Новое на сайте
Топовые новости
Новое

Оператор not

Оператор notОператор NOT обращает результаты применения другого оператора, позволяя найти строки, Не удовлетворяющие заданному критерию. Любой оператор и запрос, представленные ранее, могут получить прямо противоположный результат, если в них применить оператор NOT. В следующем запросе возвращаются все строки, Не имеющие в своих названиях во второй, третьей и четвертой позиции символов I, L и E соответственно. Уже отмечалось, что в реляционных базах данных для указания на отсутствие данных в столбце таблицы используется специальное значение NULL. Так как к этому значению неприменимы стандартные правила и операторы (математические операции, операторы сравнения и т. п.), его невозможно определить с помощью оператора равенства. К примеру, несмотря на допустимость синтаксиса WHERE <имя_столбца>=NULL в Oracle (а при определенных обстоятельствах и в Microsoft SQL Server), данный запрос никогда не вернет данные, поскольку результатом операции

Проверка на наличие в столбце значения NULL выполняется с помощью специального оператора IS. В следующем запросе извлекается информация о торговых представителях, имеющих телефоны.

Не менее легко можно проверить столбец на отсутствие значения NULL, дополнительно применив оператор NOT. Оператор сравнения IS NULL возвращает значение TRUE, если поле содержит неопределенное значение, и FALSE в противном случае. Синтаксис обратной операции соответствует требованиям грамматики английского языка: если применить оператор NOT IS NULL, СУБД вернет ошибку, а если IS NOT NULL — желаемый результат. В следующем запросе отбираются записи о заказчиках, имеющих телефоны (т. е. поле PHONE_CUST_FN не должно содержать значение NULL).