В Postgres ANY
и SOME
являются синонимами при использовании в правой части предикатного выражения. Например, это одно и то же:
column = ANY (SELECT ...)
column = SOME (SELECT ...)
Это документировано здесь:
http://www.postgresql.org/docs/9.1/static/functions-subquery. html#FUNCTIONS-SUBQUERY-ANY-SOME
По моим наблюдениям, ANY
и SOME
поддерживаются по крайней мере этими СУБД SQL:
Могу ли я с уверенностью предположить, что все эти диалекты (и другие, тоже) рассматривают ANY
и SOME
как синонимы или есть тонкая разница между этими двумя ключевыми словами в СУБД any/some?
Я нашел это в определении SQL92:
::= |
::= ALL
::= SOME | ANY
Здесь ничего не говорится о семантике ANY
и SOME
. Позже в документе упоминается только
, а не два ключевых слова. Я подозреваю, что может быть тонкая разница в обработке NULL
, например, по крайней мере, в некоторых СУБД. Любой/какой-нибудь указатель на четкое утверждение, можно ли это предполагать или нет, приветствуется.