Syntax:
<operand> <comparison operator> ANY (<subquery>) <operand> IN (<subquery>) <operand> <comparison operator> SOME (<subquery>)
          The word ANY, which must follow a
          comparison operator, means ``return TRUE if
          the comparison is TRUE for
          ANY of the rows that the subquery
          returns.'' For example,
        
SELECT s1 FROM t1 WHERE s1 > ANY (SELECT s1 FROM t2);
          Suppose that there is a row in table t1
          containing {10}. The expression is TRUE if
          table t2 contains {21,14,7} because there
          is a value in t2 -- 7 -- which is less than
          10. The expression is FALSE if table
          t2 contains {20,10}, or if table
          t2 is empty. The expression is
          UNKNOWN if table t2
          contains
          {NULL,NULL,NULL}.
        
          The word IN is an alias for =
          ANY. Thus these two statements are the same:
        
SELECT s1 FROM t1 WHERE s1 = ANY (SELECT s1 FROM t2); SELECT s1 FROM t1 WHERE s1 IN (SELECT s1 FROM t2);
          The word SOME is an alias for
          ANY. Thus these two statements are the
          same:
        
SELECT s1 FROM t1 WHERE s1 <> ANY (SELECT s1 FROM t2); SELECT s1 FROM t1 WHERE s1 <> SOME (SELECT s1 FROM t2);
          Use of the word SOME is rare, but the above
          example shows why it might be useful. The English phrase ``a
          is not equal to any b'' means, to most people's ears, ``there
          is no b which is equal to a'' -- which isn't what is meant by
          the SQL syntax. By using <> SOME
          instead, you ensure that everyone understands the true meaning
          of the query.
        
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.

