update语句执行结果请教!!!急

[复制链接]
查看11 | 回复5 | 2021-1-27 07:16:22 | 显示全部楼层 |阅读模式
下图中的update语句执行完成后的两张表的查询结果会是什么样的??为什么??


分 -->
回复

使用道具 举报

千问 | 2021-1-27 07:16:22 | 显示全部楼层
把update换成select,结果应该与select一样吧
回复

使用道具 举报

千问 | 2021-1-27 07:16:22 | 显示全部楼层
只是把b表更新到a表,满足where条件的部分结果是一样的,建议手动试下
回复

使用道具 举报

千问 | 2021-1-27 07:16:22 | 显示全部楼层
更新了emp表的sal字段,更新值为原始sal中的值乘以dept表中对应的deptno的值
更新了dept表的deptname字段,更新值为对应emp表中的ename的值
对应法则为emp表的dept值和dept表的dept值相等

回复

使用道具 举报

千问 | 2021-1-27 07:16:22 | 显示全部楼层

--建表语句
CREATETABLEemp
(
enamevarchar(20)null,
hirdatedatenull,
salnumeric(8,2)null,
deptnoTINYINTnull
);
CREATETABLEdept
(
deptnoTINYINTnotnull,
deptnamevarchar(20)null
);
INSERTINTOemp(ename,hirdate,sal,deptno)
SELECT'zzx','2000-01-01','100',1UNIONALL
SELECT'lisa','2003-02-01','200',2UNIONALL
SELECT'bjguan','2004-04-02','100',1UNIONALL
SELECT'dony','2005-02-05','2000',4;
INSERTINTOdept(deptno,deptname)
SELECT1,'tech'UNIONALL
SELECT2,'sale'UNIONALL
SELECT5,'fin';

--更新语句:
UPDATEempa,deptb
SETa.sal=a.sal*b.deptno,b.deptname=a.ename
WHEREa.deptno=b.deptno;
最后结果集:
emp表:
enamehirdatesaldeptno
zzx2000-01-011001
lisa2003-02-014002
bjguan2004-04-021001
dony2005-02-0520004
dept表:
deptnodeptname
1zzx
2lisa
5fin
回复

使用道具 举报

千问 | 2021-1-27 07:16:22 | 显示全部楼层

deptno为1、2的数据会被修改。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行