柠檬试题库
search
首页 计算机 公务员 驾照 关于

在SQL Server 2008中,设有职工表(职工号,姓名,所在部门,工资),现要建立查询指定部门平均工资的标量函数。下列语句中正确的是()。


  • A.CREATE FUNCTION dbo.f_AvgSalary(@dept varchar(20)) RETURNS INT AS BEGIN RETURN(SELECT AVG(工资) FROM 职工表 WHERE 所在部门 = @dept) END
  • B.CREATE FUNCTION dbo.f_AvgSalary(@dept varchar(20)) RETURNS INT AS BEGIN DECLARE @x INT SET @x = SELECT AVG(工资) FROM 职工表 WHERE 所在部门 = @dept RETURN (@x) END
  • C.CREATE FUNCTION dbo.f_AvgSalary(@dept varchar(20)) RETURNS INT AS BEGIN RETURN(SELECT AVG(工资) FROM 职工表 WHERE 所在部门 = @dept GROUP BY 所在部门)[k1] END
  • D.CREATE FUNCTION dbo.f_AvgSalary(@dept varchar(20)) RETURNS INT AS BEGIN DECLARE @x INT SET @x = SELECT AVG(工资) FROM 职工表 WHERE 所在部门 = @dept GROUP BY 所在部门 RETURN (@x) END
热度🔥282
参考答案:A
解析:

GROUP BY子句的作用是将查询的结果按照指定的值进行分组,而题目要求查询指定部门的最高工资的,因此并不需要分组语句,可以排除C、D。SET语句主要作用是给变量赋值。一个变量只有一个值。而一个部门可能存在一个或多个人工资一样多且是最高的,所以选项B不正确。故选择A选项。
复制题目向AI提问