从 EXISTS 子查询,可返回那些在一个或多个列中的满足 EXISTS 条件的行。(类似地,NOT EXISTS 子查询可返回在一列或多列中满足 NOT EXISTS 条件的那些行。)
下列带有 NOT EXISTS 子查询的 SELECT 语句返回那些从未被订购的每项的库存编号和生产商代码(因而未罗列在 items 表中)。
SELECT stock_num, manu_code FROM stock WHERE NOT EXISTS (SELECT stock_num, manu_code FROM items WHERE stock.stock_num = items.stock_num AND stock.manu_code = items.manu_code);
如果您在列名称的位置在子查询中使用 SELECT *,则前一示例同样奏效,因为您正在测试一行或多行是否存在。
要获取附加的信息,请参阅 EXISTS 子查询条件。