Сейчас на сайте
Сейчас на сайте 0 пользователей и 0 гостей.

Когда подзапрос возвращается пустым

Одно значительное различие между ALL и ANY - способ действия в cитуации когда подзапрос не возвращает никаких значений. В принципе, всякий раз, когда допустимый подзапрос не в состоянии сделать вывод, ALL - автоматически верен, а ANY автоматически неправилен. Это означает, что следующий запрос    

SELECT * FROM Customers WHERE rating > ANY ( SELECT rating FROM Customers WHERE city = Boston );    

не произведет никакого вывода, в то время как запрос -    

SELECT FROM Customers WHERE rating > ALL ( SELECT rating FROM Customers WHERE city = ' Boston ' );     выведет всю таблицу Заказчиков. Когда нет никаких заказчиков в Boston, естественно, ни одно из этих сравнений не имеет значения.