单值子查询

如果您知道子查询可能对外部级别查询返回刚好一个值,那么不需要 ALL 或 ANY 。可如同对待函数一样对待只返回一个值的子查询。这种子查询通常使用聚集函数,原因是聚集函数总是返回单个的。

下列查询在子查询中使用聚集函数 MAX 查找包括最大排球网数目的订单的 order_num

图: 查询

SELECT order_num FROM items
          WHERE stock_num = 9 
          AND quantity =
          (SELECT MAX (quantity) 
          FROM items
          WHERE stock_num = 9);

图: 查询结果

  order_num 
            
            1012
下列查询在子查询中使用聚集函数 MIN 选择总价高于最小价格 10 倍的商品。

图: 查询

SELECT order_num, stock_num, manu_code, total_price
          FROM items x
          WHERE total_price >
          (SELECT 10 * MIN (total_price)
          FROM items
          WHERE order_num = x.order_num);

图: 查询结果

order_num stock_num manu_code  total_price 
              
              1003         8 ANZ           $840.00
              1018       307 PRC           $500.00
              1018       110 PRC           $236.00
              1018       304 HRO           $280.00