单选题
使用如下3个数据库表:职员.dbf:职员号C(3),姓名C(6),性别C(2),组号N (1),职务C(10)客户.dbf:客户号C(4),客户名C(36),地址C(36),所在城市C (36)订单.dbf:订单号C(4),客户名C(4),职员号C(3),签订日期D,金额N(6.2)
单选题
查询金额最大的10%订单的信息,正确的SQL语句是( )。
【正确答案】
D
【答案解析】解析:本题要查询金额最大的10%订单的信息,应该是按金额从高到低降序排列,另外只需要满足条件的前若干记录,应使用TOP短语,再使用PERCENT短语,显示结果中前百分之几的记录。
单选题
查询订单数在3个以上、订单的平均金额在200元以上的职员号,正确的SQL语句是( )。
【正确答案】
B
【答案解析】解析:查询订单的平均金额在200元以上,可用平均函数为AVG(金额)>200表示,故可排除选项A)和选项D);订单数在3个以上和订单的平均金额200元以上两个条件都是分组限定条件,须放在HAVING子句中。
单选题
查询2005年1月1日后签订的订单,显示订单的订单号、客户名以及签订日期,正确的SQL语句是( )。
【正确答案】
A
【答案解析】解析:显示2005年1月1日后签订订单,表示方法为:签订日期>{^2005一1一1},故排除选项C)和选项D)。两个表使用JOIN连接,连接条件应使用ON。
单选题
有如下SQL语句:SELECT订单号,签订日期,金额FROM订单,职员;WHERE订单,职员号=职员.职员号AND姓名="李二"与如上语句功能相同的SQL语句是( )。
【正确答案】
B
【答案解析】解析:题目中给出的SELECT语句是查找出姓名为“李二”的职员签订的订单号、签订日期和金额。选项B)中,使用EXISTS谓词来检查子查询中是否有结果返回,它的查询过程是:外查询中,在订单表中从第一条记录开始取出当前职员号,再在内查询中,针对该职员号,在职员表中逐条记录判断是否存在符合WHERE条件的记录,如果存在,则在外查询的订单表中找到该职员号对应的订单号、签订日期和金额;然后依次类推,在订单表中从第二条记录中取出当前职员号,再在内查询中进行判断,直到将订单表中的所有记录都处理完毕。
单选题
从订单表中删除客户号为“1001”的订单记录,正确的SQL语句是( )。
【正确答案】
C
【答案解析】解析:删除记录的SQL命令是:DELETE FROM<表名>WHERE[<条件表达式>]。