MySQL 5.0 - Библиотека Программиста

Печать

> 5000;

Ключевое слово SOME является синонимом ключевого слова ANY. Далее мы рассмотрим ключевое слово ALL.

ALL

Ключевое слово ALL («все»), как и ANY, используется совместно с операторами сравнения, описанными в подразделе «Операторы сравнения». При использовании ALL результат сравнения будет верным, если он верен для всех значений, выданных подзапросом. Другими словами, результатом вычисления выражения

х <Оператор сравнениям ALL <Вложенный запрос> может быть одно из следующих значений:

• 1 (TRUE) - если условие х <Оператор сравнения> у выполнено для всех у, выданных подзапросом, а также в случае, если подзапрос возвращает пустой результат;

• 0 (FALSE) - если среди выданных подзапросом значений есть такое значение у, для которого выражение х <Оператор сравнения> у ложно (FALSE);

• NULL - в остальных случаях. Например, запрос

SELECT * FROM Customers WHERE 5000 < ALL (SELECTamount FROM Orders WHERE Customers.id = customer id); выведет информацию не только о тех клиентах, у которых в каждом из заказов сумма превышает 5000, но и о тех, кто не сделал ни одного заказа, ведь в последнем случае результат запроса окажется пустым и условие отбора во внешнем запросе будет выполнено. Таким образом, запрос возвращает результат, представленный в табл. 3.15.

Чтобы исключить клиентов, для которых нет зарегистрированных заказов, можно ввести дополнительное условие отбора, например SELECT * FROM Customers WHERE 5000 < ALL (SELECT amount FROM Orders WHERE Customers.id = customer id) AND EXISTS

(SELECT amount FROM Orders WHERE Customers.id = customer id);

Как и при использовании ключевого слова ANY, в запросе с ключевым словом ANY вложенный запрос может быть только правым операндом для оператора сравнения.

Итак, вы рассмотрели операторы сравнения и научились применять их для обработки результатов вложенных запросов. Теперь перейдем к изучению логических операторов, с помощью которых можно создавать составные условия отбора.

Логические операторы

Логические операторы позволяют построить сложное условие отбора на основе операторов сравнения. Операнды логических операторов рассматриваются как логические значения:TRUE, FALSE и NULL. При этом число 0 и нулевая дата и/или время («0000-00-00 00:00:00») считаются ложными значениями (FALSE), а отличные от нуля числа и даты -истинными значениями (TRUE) (более подробно об этом рассказывалось в пункте «Оператор х IS у, где у - TRUE, FALSE, UNKNOWN или NULL»). Начнем с изучения оператора AND.

113




Надежные настенные газовые котлы отопления цены для дома.