【正确答案】
D
【答案解析】[解析] 这一题是测试对DELETE语句的理解和熟悉程度。根据有关DELETE语句格式的介绍,可知其格式是“DELETE [FROM]表名”,从而可以断定选项A是错误的,因为在DELETE之后不允许出现列名。
因为WHERE instructor id NOT IN (SELECT instructor_id FROM class); 子句的含义是instructor_id不等于子查询语句所返回的任何一个instructor_id(每一个都不能相等)。参阅表CLASS中的数据可以发现其中第5行数据的instructor_id为空(NULL),因为任何一个值既不能等于空值也不能不等于空值,因此WHERE子句中的条件永远不成立,其结果是查询语句不会返回任何结果,所以选项B也可以排除。
根据有关DELETE语句格式的介绍,可知WHERE子句中的条件是由列名、表达式、常量、子查询和比较运算符组成的,并不包括NATURAL JOIN(自然连接),所以选项C肯定也是错误的。
根据有关DELETE语句格式的介绍,只有选项D符合DELETE语句的语法格式,而且WHERE instructor_id IS NULL子句的含义就是instructor_id为空(没有指派教师),所以可以确信只有选项D是正确的。