单选题 试题(54)~(56) 假定某企业2014年5月的员工工资如下表所示:
【正确答案】 A
【答案解析】
【正确答案】 D
【答案解析】
【正确答案】 C
【答案解析】试题(54)~(56)分析 本题考查SQL方面的基础知识。 查询各部门人数大于2和部门员工的平均工资的SQL语句如下: SELECT 部门,AVG (应发工资) AS 平均工资 FROM 工资表 GROUP BY 部门 HAVING COUNT(姓名)>2; SQL提供可为关系和属性重新命名的机制,这是通过使用具有“Old-name asnew-name”形式的as子句来实现的。As子句即可出现在select子句,也可出现在from子句中。 试题(55)的正确的答案为选项D。因为本题是按部门进行分组,ORDER BY子句的含义是对其后跟着的属性进行排序,故选项A和B均是错误的;GROUP BY子句就是对元组进行分组,保留字GROUP BY后面跟着一个分组属性列表。根据题意,要查询部门员工的平均工资,选项C显然是错误的。 试题(56)的正确的答案为选项C。因为WHERE语句是对表进行条件限定,所以选项A和B均是错误的。在GROUP BY子句后面跟一个HAVING子句可以对元组在分组前按照某种方式加上限制。COUNT(*)是某个关系中所有元组数目之和,但COUNT(A)却是A属性非空的元组个数之和。COUNT(DISTINCT(部门))的含义是对部门属性值相同的只统计1次。HAVING COUNT(DISTINCT(部门))语句分类统计的结果均为1,故选项D是错误的:HAVING COUNT(姓名)语句是分类统计各部门员工,故正确的答案为选项C。