表连接查询不能使用ON条件的原因?
如题,对视频中老师的解释没有理解。。。
#这里使用表连接,不能使用连接条件,为什么?
#把ALLEN调往RESEARCH部门,职务调整为ANALYST
UPDATE t_emp e JOIN t_dept d
SET e.deptno=d.deptno,e.job="ANALYST"
WHERE e.ename="ALLEN" AND d.dname="RESEARCH";
21
收起
正在回答 回答被采纳积分+1
3回答
慕粉1470323045
2022-03-15 11:02:28
WHERE 和ON 的作用是一样的,我认为这里表连接的条件 就是where 子句中的WHERE e.ename="ALLEN" AND d.dname="RESEARCH",如果再加上 ON子句中的那个语句,显然这两个表是无法连接的,只能是返回一个空表,用where字句连接就将 t_emp中的一行和t_dept中的一行连接在一起形成一个新表。
qq_慕沐1297973
2022-03-09 10:14:37
如果加上on条件 e.deptno=d.deptno,两张表做了关联,在加上你的where条件是查找不到数据的,因为更新语句要在原数据的基础上做更新,所有是先查找在执行set语句
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星