ANY 关键字

在子查询前面使用关键字 ANY (或它的同义词 SOME)来确定是否对至少一个返回值的比较为 true 。如果子查询不返回任何值,那么搜索条件为 false。(因为没有值存在,所以对于其中一个值条件不能为 true 。)

以下查询查找包含总价大于订单号 1005 中任何一个商品总价的商品的所有订单的订单号。

图: 查询

SELECT DISTINCT order_num
            FROM items
            WHERE total_price > ANY
            (SELECT total_price 
            FROM items
            WHERE order_num = 1005);

图: 查询结果

order_num 
            
            1001
            1002
            1003
            1004
            ⋮
            1020
            1021
            1022
            1023