VB.net 2010 视频教程 VB.net 2010 视频教程 VB.net 2010 视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 数据库 > T-SQL >
  • sql语句大全之根据其他表更新行

  • 2015-01-25 00:33 来源:未知

根据其他表更新行sql语句大全

除了上面一些基本的更新语句中,还可以利用其他表来更新行。这就需要在UPDATE语句的SET子句中使用SELECT语句。SELECT语句返回在设置子句表达式的<value expression>部分中定义的值。也就是说,SELECT语句相当于SET子句等号的右边。
例如,在基于商品信息表和厂商信息表中的原始数据。例设需要使用厂商信息表中的数据来修改商品信息表中的数据,即需要将商品信息表中的商品名称为“新版美国EL雅诗兰黛ANR特润眼部精华眼霜ml”的厂商编号改为厂商信息表中厂商名称为“牛牛集团”的厂商编号即B10005。可以使用如下UPDATE语句。
update 商品信息
set 厂商编号=(select 厂商编号 FROM 厂商信息 where 厂商名称='牛牛集团')
where 商品名称='新版美国EL雅诗兰黛ANR特润眼部精华眼霜ml'
go
select * from 商品信息
go
更改商品信息表和厂商信息表中的数据如图6-11所示。执行上面UPDATE语句后,执行结果如图6-12所示。

图6-11  更改前的图书信息数据

图6-12  更改后的图书信息
在上述示例中,SELECT语句从厂商信息表中提取“牛牛集团”的厂商编号B10005,这样语句就相当于“SET 厂商编号=B10005”,因此,在商品信息表中,商品“新版美国EL雅诗兰黛ANR特润眼部精华眼霜ml”对就的厂商编号被修改为B10005。
 
SET子句中的SELECT语句有且只有一个返回值。如果SELECT语句返回多个值,则SQL将不知道为该列赋予哪些个值

相关教程