Delphi | Сети | ПК | Маршрутизаторы | Моделирование | Протоколы | Экспертные системы |
Художественные возможности материалов
Удаленный доступ | Доменные имена развития компьютерной графики
Аплеты | SQL | Надежность | Задачи | Информационные процессы | Очередь JAVA | Отказы изделия | Расчет надежности показателей | Инфсис

Основные понятия и способы применения SQL - в примерах и задачах

SQL язык запросов к реляционным базам данных Учебник

 Результат действия трехзначных условных операторов

Условные операторы при отсутствии пустых значений воз­вращают либо TRUE (истина), либо FALSE (ложь). Если же в столбце присутствуют пустые значения, то может быть возвра­щено и третье значение: UNKNOWN (неизвестно). В этой схеме, например, условие WHERE А = 2, где А — имя столбца, значения которого могут быть неизвестны, при А = 2 будет соответство­вать TRUE, при А = 4 в результате будет получено значение FALSE, а при отсутствующем значении А (NULL-значение) ре­зультат будет UNKNOWN. Пустые значения оказывают влияние на использование логических операторов NOT, AND и OR.


Оператор NOT

Обычный унарный оператор NOT обращает оценку TRUE в FALSE и наоборот. Однако NOT NULL по прежнему будет возвра­щать пустое значение NULL. При этом следует отличать случай NOT NULL от условия IS NOT NULL, которое является противополож­ностью IS NULL, отделяя известные значения от неизвестных.

Оператор AND

Если результат двух условий, объединенных оператором AND, известен, то применяются правила булевой логики, то есть при обоих утверждениях TRUE составное утверждение также будет TRUE. Если же хотя бы одно из двух утвержде­ ний будет FALSE, то составное утверждение будет FALSE.

Если результат одного из утверждений неизвестен, а другой оценивается как TRUE, то состояние неизвестного утвержде­ ния является определяющим, и, следовательно, итоговый результат также неизвестен.

Если результат одного из утверждений неизвестен, а другой оценивается как FALSE, итоговый результат будет FALSE.

Если результат обоих утверждений неизвестен, то результат также остается неизвестным.

Оператор OR

Если результат двух условий, объединенных оператором OR, известен, то применяются правила булевой логики, а имен­ но: если хотя бы одно из двух утверждений соответствует TRUE, то и составное утверждение будет TRUE, если оба ут­ верждения оцениваются как FALSE, то составное утвержде­ ние будет FALSE.

Если результат одного из утверждений неизвестен, а другой оценивается как TRUE, итоговый результат будет TRUE.

Если результат одного из утверждений неизвестен, а другой оценивается как FALSE, то состояние неизвестного утвер­ ждения имеет определяющее значение. Следовательно, ито­ говый результат также неизвестен.

Если результат обоих утверждений неизвестен, то результат также остается неизвестным.

Примечание

Отсутствующие (NULL) значения целесообразно исполь­зовать в столбцах, предназначенных для агрегирования, что­бы извлечь преимущества из способа обработки пустых значе­ний в функциях COUNT и AVERAGE. Практически во всех остальных случаях пустых значений следует избегать, так как при их наличии существенно усложняется корректное постро­ение условий отбора, приводя иногда к непредсказуемым ре­зультатам выборки. Для индикации же отсутствующих, неп­рименимых или по какой-то причине неизвестных данных можно использовать значения по умолчанию, устанавливае­мые заранее (например, с помощью команды CREATE TABLE (раздел 4.1)).

Maya 3D графика в кино и телевидении Воздействие испытаний ядерного оружия на здоровье населения Объектно-ориентированный язык программирования Java Объектно-ориентированное программирование Delphi Библиотека визуальных компонентов VCL и ее базовые классы Кроссплатформенное программирование для Linux Элементы управления Win32 Элементы управления Windows XP Файлы и устройства ввода/вывода Что такое экспертная система? Объектно-ориентированное программирование Инструментальные средства разработки экспертных систем Программирование на языке CLIPS Критерии и количественные характеристики надежности Расчет характеристик надежности невостанавливаемых резервированных изделий Расчет надежности системы с постоянным резервированием Интегрирование тригонометрических функций ;