问题
单项选择题
(31)到(35)题使用下列数据表。 “外汇名”表: 外币代码 外币名称 现钞买入价 现钞卖出价 基准价 13 欧元958.6400 985.2300 996.5400 28 英镑 1220.9700 1330.2200 1287.4565 37 法郎592.7650 618.1305 612.5910 26 加元516.4110 531.4280 519.8690 15 美元811.5410 817.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短语时,子查询要用括号括起来。