我在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
對不起。這是否表明爲什麼建議使用這種方法而不僅僅是查看結果和等級欄? –