问题 单项选择题

“外汇名”表:
外币代码 外币名称 现钞买入价 现钞卖出价基准价
13 欧元    958.6400     985.2300    996.540
  28    英镑    1220.9700     1330.2200    1287.456
 37    法郎     592.7650     618.1305    612.591
 26    加元    516.4110     531.4280     519.869
 15   美元    811.5410      817.8900     815.665
“持有数”表:
姓名      外币代码     持有数量
李巡芬      37       30000.00
张武奇     13       1000.00
陆凭凭     15       3000.00
陆凭凭      37        4000.00
张武奇      15       2200.00
林诗诗      26       2000.20
李巡芬      26       30000.00
张武奇      28       3000.00
陆凭凭      26       3000.00
陆凭凭      13      4000.00
张武奇      26       18000.00

删除“持有数”表中所有外币名称为“法郎”的记录,下列SQL语句正确的是( )。

A. DELETE FROM持有数;WHERE 持有数.外币代码=外汇名.外币代码;AND 外币名称="法郎"
B. DELETE FROM 持有数,外汇名;WHERE 持有数.外币代码=外汇名.外币代码;AND 外币名称="法郎"
C. DELETE FROM 持有数 WHERE 外币代码 IN;(SELECT 外币代码 FROM 外汇名 WHERE外币名称="法郎")
D. DELETE FROM 持有数 WHERE 外币代码 IN;SELECT 外币代码 FROM 外汇名 WHERE 外币名称="法郎\

答案

参考答案:C

解析: 利用SQL数据操作功能,可以逻辑删除数据表中的记录。其命令格式为:
DELETE FROM<表名>
[WHERE过滤条件1[AND|OR过滤条件2…1]
其中,该命令语句只能对单表进行更新,选项A)和B)中的FROM短语指定了两个数据表,属于语法错误,选项D)中使用IN短语时,子查询要用括号括起来。

单项选择题
单项选择题