sql语句连表修改数据

sql语句连表修改数据,第1张

一、首先,打开SQL Server管理工具,使用SQL语句创建一个测试表。

二、然后在测试表中插入三个测试数据

三、接着 用select * from tblUpdate语句,查询刚刚插入的数据。

四、使用update tblUpdate set Col2 批量修改整个表的数据。

五、使用update tblUpdate set Col2 =批量修改指定条数的记录。

我也不知道有没有理解你的意思

1.建表

create table #t1(

id int,

name varchar(20)

)

create table #t2(

eid int,

ename varchar(20)

)

create table #t3(

sid int,

sname varchar(20)

)

2.插入数据

insert into #t1 values(1,'a'),(2,'b'),(3,'c'),(4,'d')

insert into #t2 values(1,'ab'),(2,'bc'),(3,'cd')

insert into #t3 values(1,'abc'),(2,'bcd'),(3,'cde'),(2,'')

3.查询

select a.id ,a.name ,b.eid ,b.ename ,c.sid ,c.sname

from #t1 a

join #t2 b on a.id =b.eid and b.ename ='bc'    ----可直接+and+条件

join #t3 c on a.id =c.sid and c.sname ='bcd'

或者

select a.*,b.*,c.*

from #t1 a join #t2 b on a.id =b.eid

join #t3 c on a.id =c.sid

where b.ename ='bc' and c.sname ='bcd'-----在where后面统一加也行

结果都是:  2     b     2      bc      2       bcd

4.建议

最好全部用外连接 left join,以#t1位主表,查出#t1的所有记录,#t2和#t3里不满足条件的全部

用null显示,

select a.id ,a.name ,b.eid ,b.ename ,c.sid ,c.sname

from #t1 a

left join #t2 b on a.id =b.eid and b.ename ='bc'

left join #t3 c on a.id =c.sid and c.sname ='bcd'

结果为

1   a   NULL   NULL   NULL   NULL

2   b     2            bc       2        bcd

3   c     NULL   NULL   NULL   NULL


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11585592.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存