構文
<operand> <comparison operator> ANY (<subquery>) <operand> IN (<subquery>) <operand> <comparison operator> SOME (<subquery>)
          ANY
          という語は比較演算子の後に指定するもので、``サブクエリが返すレコードの
          ANY(いずれか)に対して比較が
          TRUE の場合 TRUE
          を返す'' ことを表します。
          次に例を示します。
        
SELECT s1 FROM t1 WHERE s1 > ANY (SELECT s1 FROM t2);
          テーブル t1 に {10}
          という値を含むレコードがあるとします。
          テーブル t2 に含まれている値が
          {21,14,7} の場合、この式は TRUE
          になります。なぜなら t2 に、10
          よりも小さい 7
          という値が存在するからです。 テーブル
          t2 に含まれている値が {20,10}
          の場合や、テーブル t2
          が空の場合、この式は FALSE
          になります。 テーブル t2
          に含まれている値が
          {NULL,NULL,NULL}
          の場合、この式は UNKNOWN
          になります。
        
          IN という語は = ANY
          のエイリアスです。したがって、次の 2
          つのステートメントは同じです。
        
SELECT s1 FROM t1 WHERE s1 = ANY (SELECT s1 FROM t2); SELECT s1 FROM t1 WHERE s1 IN (SELECT s1 FROM t2);
          SOME という語は ANY
          のエイリアスです。したがって、次の 2
          つのステートメントは同じです。
        
SELECT s1 FROM t1 WHERE s1 <> ANY (SELECT s1 FROM t2); SELECT s1 FROM t1 WHERE s1 <> SOME (SELECT s1 FROM t2);
          SOME
          はめったに使用されませんが、上の例では、この語がどのような場合に役立つかを示しています。``a
          is not equal to any b''
          という英語のフレーズを、ほとんどの人は ``a
          と等しい b はまったく存在しない''
          という意味に受け取ります。しかし、SQL
          構文では意味が異なります。ANY
          の代わりに <> SOME
          を使用することによって、このクエリの本当の意味を誰もが確実に理解できるようにすることができます。
        
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.

