下面这题目我想半天想不通。
题目:
“职工”表有工号(字符型)、姓名(字符型)、基本工资(数值型)、部门名(字符型)等字段,要查看平均工资高于1500元的部门名,正确的SQL命令是(B)。
A. select 部门名 from 职工 where avg(基本工资)>1500
B. select 部门名 from 职工 group by 部门名 having avg(基本工资)>1500
我想请问的是,为甚麽答案是 B 而不是 A ?
我试着运行A项的语句,系统提示找不到avg.prg。 是不是where(条件) 语句中不能出现统计函数?
另外,想请问一下:AVG和AVERAGE有什么差别?
麻烦讲解一下。先谢谢了~~
------解决方案--------------------------------------------------------
select 部门名 from 职工 group by 部门名 having avg(基本工资)>1500
关键是这个having, 如果是聚合来筛选必须用having 而不是 where.
想请问一下:AVG和AVERAGE有什么差别?
SQL语句中只有AVG没有AVERAGE
------解决方案--------------------------------------------------------
我想请问的是,为甚麽答案是 B 而不是 A ?
avg是聚合函数,必须与GROUP BY 结合使用
想请问一下:AVG和AVERAGE有什么差别?
AVG是使用在SQL语句中
AVERAGE是VFP命令