问题 单项选择题

20~27题使用的数据如表1和表2所示。

表1 教师表(TEACHER.DBF)

教师号姓名性别籍贯职称年龄工资/元
0001王吉兵江苏讲师272003.50
0002张晓春安徽副教授282800.50
0003左燕江苏讲师252040.00
0004赵华安徽副教授352800.00
0005李宁山东讲师242500.00

表2 讲课表(JK.DBF)

教师号课号学时
0001000198
0002000276
0001000280
0002000369
0003000175
0003000368
0004000189
0005000176
0004000265
0003000290

把姓名为“王吉兵”的教师所讲的课号为“0002”课的学时数变为原来的1.5倍,使用的语句为______。

A.UPDATE JK SET学时WITH学时*1.5;
WHERE课号="0002"AND姓名="王吉兵"

B.UPDATE JK SET学时=学时*1.5 WHERE课号="0002"AND姓名="王吉兵"

C.UPDATE JK SET学时=学时*1.5 WHERE课号="0002";
AND教师号IN;
(SELECT教师号FROM TEACHER WHERE姓名="王吉兵")

D.UPDATE JK SET学时WITH学时*1.5 WHERE课号="0002";
AND教师号IN;
(SELECT教师号FROM TEACHER WHERE姓名="王吉兵")

答案

参考答案:C

解析:

[分析]: 本题涉及“姓名”、“课号”和“学时”3个字段,这3个字段分属于两个表。要在讲课表中修改某教师的某门课的学时数,必须知道该教师的教师号和课号,而本题没有给定教师号,所给的是姓名,故可以通过子查询从TEACHER表查询出姓名为“王吉兵”的教师的教师号,然后通过IN谓词形成更新记录的条件。注意:UPDATE语句的格式为UPDATE表名SET字段名=表达式WHERE<条件>,由此可知只有答案C是正确的。

选择题
单项选择题