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

Оператор AND

Оператор ANDОператор AND объединяет два булевых выражения и возвращает значение TRUE, когда они оба истинны. Следующий запрос возвращает записи о товарах, цена которых больше 20 долларов, и описание которых начинается с символа S. В результат запроса вошли только те записи, которые удовлетворяют обоим критериям. Если в критерии присутствует множество критериев, операторы AND обрабатываются первыми. Этот порядок можно изменить с помощью скобок. Этот оператор обращает значение любой булевой функции, рассматриваемой в настоящей главе. Ниже приведен простой пример использования его совместно с оператором IN. Данный запрос возвращает информацию о товарах, цена которых не равна ни одной, перечисленной в списке. Оператор OR объединяет два условия в соответствии с правилами булевой логики (см. приложение Л). Если в выражении использовано несколько логических выражений, обработка оператора OR выполняется после обработки оператора AND. В то же время порядок обработки можно изменить с помощью скобок. Пример использования оператора OR был приведен в разделе, посвященном оператору IN. Приоритет операторов определяет тот порядок, в котором они выполняются в одном выражении. В целом, если в одном выражении присутствует множество операторов, первыми выполняются те, которые имеют самый высокий приоритет, далее — более низкий и т. д. Приоритет операторов в SQL определяется теми же правилами, что и в математике, так что он интуитивно понятен (табл. 11.5). Порядок выполнения операторов сильно влияет на результаты запроса. В качестве примера рассмотрим следующий запрос Oracle, вычисляющий значение TOTAL_PRICE+4*0.085. В данном случае возможны два варианта вычислений: добавление к цене четырех долларов и последующее вычисление 8,5% из получившейся суммы или определяемый приоритетом операторов — повышение цены на 0,34 цента. Естественно, любая СУБД вначале умножает 0,085 на 4, после чего прибавляет результат к значению столбца TOTAL_PRICE. Вполне очевиден вопрос, как операторы + и — могут одновременно иметь первый и третий приоритет. В дополнение к операциям сложения и вычитания эти операторы определяют положительность и отрицательность чисел (например, -5 и +5). Приведем пример.