我在SQL方面有一些经验,并且遇到了SQLPlus/Oracle的以下代码。我有点困惑你为什么要使用这段代码进行更新。 表的例子是表1的列COL1,COL2,COL3Where子句中的子查询SQL更新
update e
set grade='HD'
where stu_no=(
select stu_no
from e
where result >80 and grade !='HD')
and unit_code=(
select unit_code
from e
where result >80 and and grade !='HD') ;
为什么不能简单地像下面这样的更新,
update e
set grade = 'HD'
where result >= 80
and grade != 'HD'
提前任何帮助
谢谢!
编辑:添加实际的代码,而无需改变表名
注:子查询**应该是标量子查询,否则'=(子查询)'实际上应该是'IN(子查询)' – joop
这与您最初发布的内容完全不同 - 现在有四列正在播放重写只有三个。 – mathguy
对不起。这是否表明为什么建议使用这种方法而不仅仅是查看结果和等级栏? –