ANY句とSOME句は指定した値と副問合せの結果を比較するときに使用します.このとき,比較演算子の条件が一つでも真になるとき真,条件がすべて偽になるとき偽になります.なお,ANY句とSOME句は名前が異なるだけで等価です.
ANY句を用いた副問合せの書き方は以下とおりです.
SELECT 列名1, 列名2, ...
FROM テーブル名
WHERE 列名 比較演算子 IN (
    SELECT 列名
    FROM テーブル名
    [WHERE 条件式など]
)
比較演算子には =,<, >, <=, >=, <>,!= が指定できます.
例としてANY句を使用して受注テーブルからレコードを抽出します.
受注
| 注文番号 | 商品コード | 受注個数 | 
|---|---|---|
| 01-101 | A001 | 100 | 
| 01-102 | A002 | 200 | 
| 01-103 | B001 | 300 | 
| 01-104 | B002 | 400 | 
| 02-101 | A001 | 150 | 
| 02-102 | A002 | 350 | 
SQL
SELECT * FROM 受注
WHERE 受注個数 > ANY (
    SELECT 受注個数
    FROM 受注
    WHERE 商品コード = 'A002' (
)
結果
| 注文番号 | 商品コード | 受注個数 | 
|---|---|---|
| 01-103 | B001 | 300 | 
| 01-104 | B002 | 400 | 
| 02-102 | A002 | 350 | 
まず副問合せによって受注テーブルの受注個数 (200, 350) が返されます. 次にANY句によって,受注個数が200よりも大きいか,または350よりも大きいレコードを抽出します. すなわちこの場合,受注個数が200よりも大きいレコードが抽出されます.