1.2.2 DELETE语句

DELETE语句用来从表中删除指定的行,它一次可以删除一行,也可以删除多行。DELETE语句的语法格式为:


DELETE FROM表名

WHERE条件


在默认情况下,DELETE语句可以不使用WHERE子句,这时将删除表中的所有行。例如,下面的DELETE语句将删除表emp中的所有行:


SQL>DELETE FROM emp;


如果希望只删除表中的一部分数据,需要通过WHERE指定条件。例如,要从表emp删除中部门30的工资低于1000元的员工数据,相应的DELETE语句为:


SQL>DELETE FROM emp WHERE deptno=30 AND sal<1000;


在DELETE语句的WHERE子句也可以使用子查询,子查询与SELECT语句中的子查询用法相同。例如,要从表DEPT中删除这样的部门数据,它在表emp中没有所属的员工,即空部门,相应的DELETE语句为:


DELETE FROM dept

WHERE deptno NOT in(SELECT distinct deptno FROM emp);