http://database.51cto.com/art/201009/227874_all.htm
在select中使用表别名很多人都知道,但是在Sql Update中使用表别名可能知道的人就没那么多了,下面就为您介绍这种Sql Update语句使用表别名的方法,供您参考。
使用Sql Update语句,同样可以使用表别名,下面就将为您介绍Sql Update语句使用表别名的方法,希望对您学习Sql Update语句有所启迪。
在编写Sql脚本时通过表别名可以大大缩减Sql代码,同时表别名也是解决同表多次引用的手段之一。在select中使用表别名大家应该都很熟悉了:
- select * from TableA as A inner join TableB as B on A.Key1 = B.Key1
但是在Sql Update中使用表别名可能就没那么多人知道了。
- update T
- set T.Key1 = 'xxxx'
- from TableA T
这些天在写Sql Update语句脚本的时候需要引用两次同个表对象,如果直接像下面这样引用两次TableA则会抛出“The multi-part identifier ‘TableA.Index’ could not be bound”的错误。这是因为Sql引擎无法知道你在where子句中的TableA到底指的是要Update的表还是from后面的表。
- update TableA
- set TTableA.NextKey = T.Key
- from TableA T
- where T.Index = TableA.Index + 1
如果不对Update后面的TableA使用别名的话,我们只能通过以下方法来实现。
- update TableA
- set TTableA.NextKey = T.Key
- from
- (
- select * from TableA
- )T
- where T.Index = TableA.Index + 1
使用别名可以得到更简洁的写法:
- update T1
- set T1.NextKey = T2.Key
- from TableA T1, TableA T2
- whereT2.Index = T1.Index + 1
【编辑推荐】
相关推荐
把其它表作为条件和更新值的更新语句;... update customers a -- 使用别名 set customer_type='01' --01 为vip,00为普通 where exists (select 1 from tmp_cust_city b where b.customer_id=a.customer_id )
8. SQL UPDATE 语句 12 9. SQL DELETE 语句 13 10. SQL TOP 子句 13 11. SQL LIKE 操作符 15 12. SQL 通配符 16 13. SQL IN 操作符 18 14. SQL BETWEEN 操作符 18 15. SQL Alias(别名) 19 16. SQL JOIN 20 17. SQL...
SQL语句生成器的特色 支持几乎所有类型的数据库, 包括小型(桌面)数据库:Fox DBF、Microsoft Execl、Text、Borland ...支持将SQL查询语句,替换为插入(Insert into)和更新(Update)语句 附属工具内嵌入Delphi IDE
无需安装和卸载 支持几乎所有的SQL语法: 排序(Order By) 条件(Where) 分组(Group By) 分组条件(Having) 计算字段 SQL查询表 SQL查询子句 丰富的函数 表别名 字段别名(包括计算...
该工具的主要特色: 1、支持几乎所有类型的数据库, ...6、支持将SQL查询语句,替换为插入(Insert into)和更新(Update)语句 7、附属工具内嵌入Delphi IDE(支持Delphi 5和Delphi 6) 8、文件拖放(SQL和TXT文件)
现在我有两张表分别是S_PERSON,S_USER S_PERSON S_USER 我现在想把S_USER表中的ACCOUNT批量修改成S_PERSON的ACCOUNT 我们可以发现S_USER表中有个跟S_PERSON表关联...1、使用表名称别名 有两个表分别是:”Persons”
9、说明:in 的使用方法 select * from table1 where a [not] in (‘值1’,’值2’,’值4’,’值6’) 10、说明:两张关联表,删除主表中已经在副表中没有的信息 delete from table1 where not exists ( select * ...
查代码,发现有删除语句。于是在查询分析器中执行,报错。反复试几次,明白了,Delete From不认表名别名!回头想下,当初程序改完后主要是在Oracle中测的,SQLServer一直没细测。 之所以要用别名,是因为where条件中...
一般来说update一个表, 使用where语句即可: 代码如下: UPDATE Ttest SET statusInd = ‘ACTIVE’ WHERE id = 123 注意: update 语句后面的table名称,是不可以启用别名的。 那么此时的id字段,就是来自...
无需安装和卸载 支持几乎所有的SQL语法: 排序(Order By) 条件(Where) 分组(Group By) 分组条件(Having) 计算字段 SQL查询表 SQL查询子句 丰富的函数 表别名 字段别名(包括计算...
1、支持绝大部分数据库,包括 大型数据库Oracle,Sybase(包括SQL AnyWhere),DB2,MS_SQL 中型数据库MS_Access,MySQL 桌面型数据库Paradox,DBF系列数据库... 10.4 简单SQL查询语句转换为Delete,Update,Insert语句
11.1.4 由VALUES关键字插入多行数据 11.1.5 使用SELECT语句插入数据 11.1.6 通过视图插入数据 11.1.7 使用子查询插入数据 11.2 数据的更新操作 11.2.1 UPDATE语句的基本语法 11.2.2 使用UPDATE语句更新指定的列值 ...
1、支持几乎所有类型的数据库, 包括小型(桌面)数据库:Fox DBF、Microsoft Execl、Text、Borland Paradox、 ...4、支持将SQL查询语句,替换为插入(Insert into)和更新(Update)语句 4、附属工具内嵌入Delphi IDE
9、说明:in 的使用方法 select * from table1 where a [not] in (‘值1’,’值2’,’值4’,’值6’) 10、说明:两张关联表,删除主表中已经在副表中没有的信息 delete from table1 where not exists ( select *...
11.4 简单SQL查询语句转换为Delete,Update,Insert语句 11.5 复制为字符串(支持对Java、C#、Delphi、VB、PowerBuilder开发语言的支持) 11.6 灵活的拖放功能 11.7 在线版本更新 11.8 查询结果输出为SQL脚本...
9、说明:in 的使用方法 select * from table1 where a [not] in (‘值1’,’值2’,’值4’,’值6’) 10、说明:两张关联表,删除主表中已经在副表中没有的信息 delete from table1 where not exists ( select * ...
1. 语法修改单表中的记录update 表名set 列=新值, ...where 筛选条件修改多表的记录sql92语法:update 表1 as 别名, 表2 as 别名set 列=新值, ...where 连接条件and 筛选条件sql99语法:update 表1 as 别名join 表2 ...
14.查询的时候 可以给 表 或者 列 起别名 Select 列名1 [as] 别名 , 列名2 [as] 别名2 from 表名 别名 15.去重查询 16.条件查询 练习1 年龄大于 25的学生 > < >= != <> = 17.多条件查询 & and || or 18....
本文实例讲述了Mysql数据库之常用sql语句。分享给大家供大家参考,具体如下: ...————使用as给表起别名 select 表别名.字段名 from 表名 as 表别名; ————消除重复行(distinct) select dis
9.2.4 使用表别名 162 9.2.5 采用join关键字建立连接 163 9.3 表的连接类型 163 9.3.1 自连接 163 9.3.2 自然连接(natural join) 166 9.3.3 内连接(inner join) 167 9.3.4 外连接(outer join) 170 ...