设有一个关系EMP(职工号,姓名,部门名,工种,工资),查询各部门担任“钳工”的平均工资的SELECT语句为: SELECT部门名,AVG(工资)As平均工资 FROM EMP GROUP BY(19) HAVING工种=‘

admin2018-04-11  25

问题 设有一个关系EMP(职工号,姓名,部门名,工种,工资),查询各部门担任“钳工”的平均工资的SELECT语句为:
    SELECT部门名,AVG(工资)As平均工资
    FROM EMP
    GROUP BY(19)
    HAVING工种=‘钳工’(2007年5月试题19)

选项 A、职工号
B、姓名
C、部门号
D、工种

答案C

解析 本题考查SOL的基础知识。
    SQL是介于关系代数与关系演算之间的结构化查询语言,它可以进行数据操作、数据定义和数据控制。
    使用SELECT语句进行数据查询是数据库中的核心操作。
    简单查询的语句格式为:
    SELECT [ALL|DISTINCT] select_list
    FROM table_name
    其中,select_list中用*表示当前或视图的所有列;用table_name*表示指定表或视图的所有列;用column_name1[[AS]column_title1],column_name2[[AS]column_title2][,…]或者用[column_titlel=]column_name1[,column_title2=]column_name2[,…]表示指定列并更改列标题。ALL和DISTINCT是SELECT语句中的可选项,用于在查询结果中消除重复行。如果想在指定的列中检索单一记录,可以使用“DISTINCT”关键字,因为DISTINCT将会丢弃SELECT指定列的重复记录;如果需要显示结果表中的重复行,可以指定“ALL”,意为保留结果表中的所有行。
    GROUP BY子句与HAVING子句的格式为:
    SELECT column_namel,column_name2[,…n]
    FROM table_name
    WHERE search_condition
    GROUP BY group_by_expression
    HAVING search_condition
    GROUP BY子句将查询结果按分组选项的值(group_by_expression)进行分组,该属性列相等的记录为一个组。通常,在每组中通过集合函数来计算一个或者多个列。如果GROUP BY子句带有HAVING短语,则只有满足指定条件(search condition)的组才能输出。
    使用HAVING子句时,还可以用HAVING子句为分组统计进一步设置统计条件,限制SELECT语句返回的行数。HAVING子句与GROUP BY子句的关系类似于WHERE子句与SELECT子句的关系。HAVING子句应该处于GROUP BY子句之后。
    根据题意需要查询不同部门中担任“钳工”的职工的平均工资,第三条语句应该是按“部门名”进行分组,然后再按第四条语句的条件工种=‘钳工’进行选取。正确的语句应该是:
    SELECT部门名,AVG(工资)AS平均工资
    FROM EMP
    GROUP BY部门名
    HAVING工种=‘钳工’
转载请注明原文地址:https://jikaoti.com/ti/ZDN7FFFM
0

相关试题推荐
最新回复(0)