单选题
以下各题使用如下三个表:
职员.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
【答案解析】[解析] SQL SELECT的基本语法命令为SELECT[ALL|DISTINCT][TOP nExpr[PERC.ENT]]FROM[DatabaseName]ORDER BY Order Item。当不明确指明为“DESC”时,则默认为升序排列。由题可知,本题选D。
单选题
查询订单数在3个以上、订单的平均金额在200元以上的职员号。正确的SQL语句是______。
【正确答案】
B
【答案解析】[解析] 分组查询的语句是GROUP BY GroupColumn HAVING FilterCondition。该子句一般跟在WHERE后面,没有WHERE子句时,跟在FROM子句之后。同时,AVG是求平均值的函数,用法为AVG(Column)。
【正确答案】
A
【答案解析】[解析] 使用JOIN作为连接,则条件用ON指定。显然B错误。不使用JOIN,则条件用WHEKE指定。则D错误。同时根据规定,越晚的日期或时间越大,则在2005年1月1日之后的时间,应该表述为“>{^2005-1-1}”。
单选题
显示没有签订任何订单的职员信息(职员号和姓名),正确的SQL语句是______。
【正确答案】
C
【答案解析】[解析] 本题可以写成连接查询的形式,又可以写成嵌套查询的形式。A和B中会将订单表中没有记录而职工表中存在的员工,默认为订单数为0。D选项中,不用“<>”表示“不存在”。
单选题
有以下SQL语句:
SELECT订单号,签订日期,金额FROM订单,职员;
WHERE订单.职员号=职员.职员号AND姓名="李二"
与如上语句功能相同的SQL语句是______。
【正确答案】
B
【答案解析】[解析] 题中实现的是查询李二的订单号、签订日期和金额。嵌套查询中EXISTS是谓词,用来判断查询结果中是否有结果返回。而IN相当于集合运算符∈,在IN之前的必须有属性,比如“职工号IN”。同时,本题必须满足连接条件。
单选题
从订单表中删除客户号为“1001”的订单记录,正确的SQL语句是______。
【正确答案】
C
【答案解析】[解析] SQL从表中删除数据的命令格式为:DELETE FROM表名[WHERE被删除的记录满足的条件]。
单选题
将订单号为“0060”的订单金额改为169元,正确的SQL语句是______。
【正确答案】
A
【答案解析】[解析] SQL的数据更新命令格式为:LIPDATE表名SET字段1=字段值1[,字段2:字段值2…]WHERE更新需要满足的条件。