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

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


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

GROUP BY子句的作用是将查询的结果按照指定的字段进行分组,而题目中要求建立查询,查找指定部门中员工的最高工资,可以仅使用条件查询完成该功能,并且不需要对"所在部门"字段进行分组操作,故可以排除C、D选项。SET语句主要作用是给变量赋值,且一个变量只有一个值。而一个部门可能存在一个或多个人工资一样多且是最高的,那么B选项不符合要求。故选择A选项。
复制题目向AI提问