以下各题使用下列数据表。
“外汇名”表:
外币代码 外币名称 现钞买入价 现钞卖出价 基准价
13 欧元958.6400985.2300 996.5400
28 英镑1220.9700 1330.2200 1287.4565
37 法自592.7650618.1305 612.5910
26 加元516.4110531.4280 519.8690
15 美元811.5410817.8900 815.6650
“持有数”表:
姓名 外币代码 持有数量
李巡芬 3730000.00
张武奇 131000.00
马小六 153000.00
马小六 374000.00
张武奇 152200.00
林诗诗 262000.20
李巡芬 2630000.00
张武奇 283000.00
马小六 263000.00
马小六 134000.00
张武奇 2618000.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…]]
其中,该命令语句只能对单表进行更新,选项A和B中的FROM短语指定的两个数据表属于语法错误;选项D中使用IN短语时,子查询要用括号括起来。