一名员工可能有零个或多个家属,而一个受抚养人只属于一名员工。 dependents表中的employee_id列链接到employees表中的employee_id列。
员工与家属表之间的关系是一对多的。
从逻辑上讲,如果不引用员工,就不能存在依赖关系。 换句话说,当删除员工信息时,他/她的家属也必须要删除。
例如,要删除员工ID为199和所有员工的依赖项,需要执行两个DELETE语句,如下所示:
DELETE
employees
WHERE
employee_id = 199;
DELETE
dependents
WHERE
employee_id = 199;
大多数数据库系统都支持外键约束,因此当删除表中的一行时,外键表中的行也会自动删除。
因此,执行以下DELETE语句时:
DELETE
employees
WHERE
employee_id = 199;
在执行上面语句后,employee_id为199的所有行也会自动删除。
要更有效地从表中删除所有行,可以使用TRUNCATE TABLE语句,而不是使用不带WHERE子句的DELETE语句。
通过上面的示例和学习,您应该了解SQL DELETE语句用法,以及如何应用它来删除表中的一行或多行。