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

Одно значительное различие между 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, естественно, ни одно из этих сравнений не имеет значения.  

‹ Как ANY, ALL и EXIST поступают с отсутствующими и неизвестными данными
Вверх
ANY и ALL вместо EXISTS с пустым указателем( NULL ) ›

Айтистанция
Добавить комментарий

Adblock
detector