Операторы any и all всегда используются в комбинации с одним или несколькими операторами сравнения. Общий синтаксис обоих операторов:
column_name operator [any | all] query
Здесь operator- обычный оператор сравнения, a query- внутренний запрос.
Оператор any возвращает значение «истина», если результат выполнения соответствующего внутреннего запроса содержит, по меньшей мере, одну строку, соответствующую сравнению. Ключевое слово some является синонимом для any. В примере 6.25 показано использование оператора any.
Каждое значение столбца enterdate в примере 6.25 сравнивается со всеми значениями этого же столбца. Для всех дат этого столбца, за исключением самой ранней, сравнение возвращает истину как минимум один раз. Строка с самой ранней датой не принадлежит результату, потому что сравнение не возвращает истину в этом случае. Другими словами, выражение enterdate > any (select enter_date from works_on) является истинным, если существуют любые (одна или более) строк в таблице workson со значением столбца enterdate, меньшим, чем значение enterdate текущей строки. Это будет истинным для всех, кроме самого раннего значения столбца enterdate.
Оператор all возвращает истину, если вычисление столбца таблицы во внутреннем запросе возвращает все значения этого столбца.