单选题
“外汇名”表:
外币代码 外币名称 现钞买入价 现钞卖出价 基准价
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
单选题
查询持有外币种类在4种以上人员的姓名,及持有的种类数量,并按种类数量升序排列,数量相同时,则按姓名降序排列,下列语句正确的是( )。
【正确答案】
A
【答案解析】[解析] 本题中首先通过GROUP BY短语按“姓名”字段对“持有数”表中的记录进行分组,然后利用COUNT()分组统计每个人持有的外币种类,再通过HAVING子句限定外币种类至少在4种以上的记录;利用ORDERBY短语可以对查询结果进行排序,有升序(ASC)和降序(DESC)两种,默认的为升序排序方式,如果排序字段有多个,则每个字段之间用逗号隔开。
单选题
计算出“陆凭凭”所持有的全部外币相当于人民币的价值数量,下列语句正确的是( )。
(某种外币相当于人民币数量的计算公式:人民币价值数量=该种外币的“现钞买入价”*该种外币“持有数量”)
【正确答案】
A
【答案解析】[解析] 本题中查询的“现钞买入价”是来自“外汇名”表的字段,“持有数量”来自“持有数”表,进行计算查询时需要采用连接查询的方式对两表进行查询,两表的连接条件在WHERE短语中指定,另外对记录进行筛选的条件通过AND短语与表的连接条件一起放在WHERE短语之后。
单选题
将“外汇名”表美元和英镑的基准价下调1%,下列SQL语句正确的是( )。
【正确答案】
B
【答案解析】[解析] SOL的数据更新命令格式为:
UPDATE<表名>SET列名1=表达式1[,列名2=表达式2…]
[WHERE<条件表达式>]
一般使用WHERE子句指定条件,以更新满足条件的一些记录的字段值,并且一次可以更新多个字段;如果不使用WHERE子句,则更新全部记录。
单选题
删除“持有数”表中所有外币名称为“法郎”的记录,下列SQL语句正确的是( )。
【正确答案】
C
【答案解析】[解析] 利用SQL数据操作功能,可以逻辑删除数据表中的记录。其命令格式为:
DELETE FROM<表名>
[WHERE过滤条件1[AND|OR过滤条件2…1]
其中,该命令语句只能对单表进行更新,选项A)和B)中的FROM短语指定了两个数据表,属于语法错误,选项D)中使用IN短语时,子查询要用括号括起来。