update sc1 z
set z.score =
(select avg(s.score)
from sc s
join course c
on s.cno = c.cno
join teacher t
on c.tno = t.tno
where t.tname = '谌燕'
and z.cno = s.cno
group by s.cno)
where z.cno in (select a.cno
from course a
join teacher t
on a.tno = t.tno
where t.tname = '谌燕')
set后面跟着的子查询里面,如果去掉了z.cno = s.cno,就会报子查询返回多行的错误,想请教一下各位大神,这个条件在里面起到的是什么作用,为什么去掉了会报错