为什么表连接可以不用条件,那是怎么连接的?

来源:3-1 数据操作语言:UPDATE语句

陌养

2019-09-26 16:04:59

http://img.mukewang.com/climg/5d8c712a0822d10510010751.jpg就是这个事例

写回答

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 时也是类似的。

4

EricDC_Wu

2019-11-15

我的理解是:表连接是可以不用指定关联条件的,只不过无关联条件时,会出现无条件连接,所连接的表格的所有字段交叉连接,产生笛卡尔积

0

时间,

2019-09-26

同学,你好。where后的为连接条件的。在内连接中,可以有以下几种格式:

select …… from 表1 join 表2 on 连接条件;

select …… from 表1 join 表2 where 连接条件;

同学可以将sql语句修改如下,查询出满足条件的数据:

http://img.mukewang.com/climg/5d8c799e09ae26d708620192.jpg

如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~

0

0 学习 · 2669 问题

查看课程