0

我对 SQL 很陌生,我正在尝试执行以下操作:

update the salary of employees with their department avg salary.

我在这里尝试 SQL 命令。

我正在尝试的命令是:

update emp set sal = select avg(sal) from emp;

但我收到这样的错误:

ORA-00936: missing expression : update emp set sal = select avg(sal) from emp

我在哪里犯了错误?

提前致谢。

4

2 回答 2

1

你所尝试的只是正确的......一般来说,子查询应该放在括号内,试试这个:update emp set sal = (select avg(sal) from emp);

参考:http ://sqlfiddle.com/#!4/edea8/4

于 2013-03-04T08:31:33.237 回答
1
update emp 
set sal = (SELECT av FROM (SELECT AVG(sal) av FROM emp) s) 
from emp;
于 2013-03-03T05:53:27.687 回答