Различия между конструкциями ANY и ALL в PostgreSQL заключаются в том, как они обрабатывают результаты сравнения. 13
ANY сравнивает вычисленное значение левого выражения со значением в каждой строке результата подзапроса с помощью заданного оператора условия, который должен выдавать логическое значение. 1 Результатом ANY будет «true», если хотя бы для одной строки условие истинно, и «false» в противном случае (в том числе, когда подзапрос не возвращает строк). 1
ALL сравнивает значение со списком значений, возвращаемых подзапросом. 2 Результатом ALL будет «true», если условие истинно для всех строк (и когда подзапрос не возвращает строк), или «false», если находятся строки, для которых оно ложно. 1
Ещё одно различие заключается в том, как конструкции ведут себя, когда подзапрос не возвращает никаких значений. 5 В такой ситуации ALL автоматически верен, а ANY автоматически неправилен. 5