修改数据 / 删除行 |
DELECT 语句中的 WHERE 子句可与 SELECT 语句中的一样复杂。它可包含通过 AND 和 OR 连接的多个条件,且它可能包含子查询。
DELETE FROM stock WHERE 0 = (SELECT COUNT(*) FROM manufact WHERE manufact.manu_code = stock.manu_code);
DELETE 语句的 WHERE 子句不可使用测试同一表的子查询。即,当您从 stock 进行删除时,您不可在也从 stock 中选择的 WHERE 子句中使用子查询。
此规则的关键在于 FROM 子句。如果在 DELETE 语句的 FROM 子句中命名表,则该表不可还出现在 DELECT 语句的子查询的 FROM 子句中。