如果子查询返回行,则 EXISTS 子查询条件求值为 TRUE。以 EXISTS 子查询,可返回一个或多个列。该子查询总是包含对主查询中表的列的引用。如果您在不包含 HAVING 子句的 EXISTS 子查询中使用聚集函数,则总会返回至少一行。
元素 | 描述 | 限制 | 语法 |
---|---|---|---|
subquery | 内嵌的查询 | 不可包含 FIRST 子句也不可包含 ORDER BY 子句 | SELECT 语句 |
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 *,则前面的示例同样奏效,因为测试整行的存在;不测试特定的列值。