TEACHER(讲师)表中列的定义如下:
Name Null Type
-------------------- ---------------- -----------------
TEACHER_ID NOT NULL NUMBER(9)
NAME VARCHAR2(25)
SALARY NUMBER(7, 2)
SUBJECT_ID NOT NULL NUMBER(3)
SUBJECT_DESCRIPTION VARCHAR2(2)
如要将所有教科学的讲师的工资提高8‰科学讲师的subject_id为011,应使用如下的哪个语句
A.UPDATE teacher
SET salary=salary * 1.08
WHERE subject_description LIKE ’SCIENCE’;
B.UPDATE teacher
SET salary=salary * .08
WHERE subject_description LIKE ’SCIENCE’
AND subject_id=011;
C.UPDATE teacher
SET salary=salary * 1.08
WHERE subject_id=011;
D.UPDATE teacher
SET salary=salary+(salary * .08)
WHERE subject_description LIKE ’SCIENCE’
OR subject_id=011;
参考答案:C
解析: 这一题主要是测试对UPDATE语句的理解和熟悉程度。首先根据题目的要求,选项B肯定是错误的,因为“SET salary=salary * .08”是将工资更改为原工资的8%。
参阅TEACHER表中subject_description列的定义,可知这一列的最大长度为两个字符,所以“WHERE subject_description LIKE ’SCIENCE’”子句肯定是错误的,而且在题目中根本就没有说科学(SCIENCE)存在于subject_description列中,所以选项A、B和D肯定都是错误的。因此答案只能是C了。