为什么表连接可以不用条件,那是怎么连接的?
来源:3-1 数据操作语言:UPDATE语句
陌养
2019-09-26 16:04:59
就是这个事例
3回答
_D_D_
2020-03-11
你把老师的 WHERE 子句换成 ON 一样用。
注意不是无条件连接,并没有产生笛卡尔积,连接条件写在WHERE里了。
这是老师的代码:
UPDATE t_emp e JOIN t_dept d SET e.deptno=d.deptno, e.job='ANALYST', d.loc='北京' WHERE e.ename='ALLEN' AND d.dname='RESEARCH';
另一种写法:(语法不同,作用相同)
UPDATE t_emp e JOIN t_dept d ON e.ename='ALLEN' AND d.dname='RESEARCH' SET e.deptno=d.deptno, e.job='ANALYST', d.loc='北京';
其实是一样的。
回想一下查询时的内连接多种写法:
SELECT ... FROM 表1 [INNER] JOIN 表2 ON 连接条件; SELECT ... FROM 表1 [INNER] JOIN 表2 WHERE 连接条件; SELECT ... FROM 表1, 表2 WHERE 连接条件;
UPDATE 时也是类似的。
EricDC_Wu
2019-11-15
我的理解是:表连接是可以不用指定关联条件的,只不过无关联条件时,会出现无条件连接,所连接的表格的所有字段交叉连接,产生笛卡尔积
时间,
2019-09-26
同学,你好。where后的为连接条件的。在内连接中,可以有以下几种格式:
select …… from 表1 join 表2 on 连接条件;
select …… from 表1 join 表2 where 连接条件;
同学可以将sql语句修改如下,查询出满足条件的数据:
如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~
相似问题