update set from where,update 表A set A.字段=(selec 字段 FROM 表B) from 表A,表B where A.主键=B.主键 提示命令未正确结束
update set from where,update 表A set A.字段=(selec 字段 FROM 表B) from 表A,表B where A.主键=B.主键 提示命令未正确结束详细介绍
本文目录一览: update set from where语句的含义,以及这块sql语句的含义
SELECT zcbh,bmbh,sum( rks ) as rks
FROM YX_ZCRK INNER JOIN YX_ZCRKMX ON YX_ZCRK.ID = YX_ZCRKMX.djbh
WHERE YX_ZCRK.ID = [接收ID]
GROUP BY zcbh ,bmbh
把表YX_ZCRK的ID和YX_ZCRKMX的djbh一样的的数据关联
当YX_ZCRK中的ID 为[接收ID]
按照 zcbh,bmbh分组汇总rks
INSERT INTO temp_ZCRK (zcbh,bmbh,rks )--给表temp_ZCRK的zcbh,bmbh,rks 插入值
这段语句可以分成两部分来理解.
第一部分是SELECT 返回记录集:
该SELECT语句中使用了INNER JOIN子句,用以关联两个表.并使用GROUP BY进行分组.对RKS求合.
第二部分是INSERT:将返回的记录集插入到表Temp_ZCRK中.
1.更新表
update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式
2.插入数据到temp表,而插入表中的数据是来自select后面的那个联合语句查出来的数据
在SQL语句中,where,from,set分别所指的是什么
where是条件,根据什么查找
from是从那里查找
set是update中的,设置你要更新的项
where跟条件:
><= != in 等操作符控制;
from是从那里查找
一般是表,但也可能是多个表查询的行
set是更改,可以该表(如上面的huzi01245说的)也可以改变表,库,用户的属性
where 是限制条件.比如你要查一个表里面男生的数量
就用 where 性别='男'
from 是从哪个表中取数据
比如 从人事档案中查男性
select * from 人事档案 where 性别='男'
set在update中是设置你要更新的项
比如你要更新人事档案中所有的人入职日期为'2009-07-25'
就可以用set 入职日期='2009-07-25'
也可以给变量赋值
比如 declare @a int
set @a = 1
这样@a的值就变成1 了
我是这样理解的.希望能对你有帮助
update..set..from..where..语句在Oracle不可用,在SQLServer可用,是不是有什么规则,下面是语句
update 用户.base_label bl set bl.y = ob.maxy ( select max(obj.maxy) as maxy from 用户.base_obj obj, 用户.base_label bl where obj.minx<=bl.x and bl.x <= obj.maxx and obj.miny <= bl.y and bl.y <= obj.maxy and obj.minz <= bl.z and bl.z <= obj.maxz and bl.label_id = bl.label_id and label_id = bl.label_id)
Oracle 好像 没有
UPDATE 表 SET ... FROM 另外一个表 WHERE 条件 这样的写法。
在oracle中的语法应该是:
update 表
set 字段=值
where 条件,
你的from不对吧
update 用户.base_label bl
set bl.y =(select ob.max from
(
select max(obj.maxy) as maxy,bl.y,bl.label_id from 用户.base_obj obj,用户.base_label bl
where obj.minx<=bl.x and bl.x <= obj.maxx
and obj.miny <= bl.y and bl.y <= obj.maxy
and obj.minz <= bl.z and bl.z <= obj.maxz
and bl.label_id = bl.label_id
group by bl.label_id,bl.y
) as ob
where bl.label_id = ob.label_id)
from 用户.base_label bl
请教一条update from where的标准SQL语句
update a set c = ''
from a
where x = ''
update 表A set A.字段=(selec 字段 FROM 表B) from 表A,表B where A.主键=B.主键 提示命令未正确结束
你的意图是什么,你这语法有错误, update 后面不能跟from ,你若想把表a的某字段更新为表b对应的字段值的话 ,如下,
update 表A set A.字段
=(select B.字段 from 表B where 表B.主键=表A.主键);
update t1 set t1.c2 = t2.c2 from t2 where t1.c1 = t2.c1 为啥总提示我 ORA-00933 SQL命令为正确结束
update t1
set t1.c2 =(select c2
from t2
where t1.c1 = t2.c1);
你试试这样
update t1
set t1.c2 = t2.c2
from t2 ,t1
where t1.c1 = t2.c1
或者
update t1
set t1.c2 = t2.c2
from t2
inner join t1 on t1.c1 = t2.c1
SQL 用update语句一次更新多个字段应该怎么写
update 表名 set(字段1,字段2,字段3,...) = (select 数值1,数值2,数值3,...) where 条件如果是固定值,可以写成
update 表名 set(字段1,字段2,字段3) = (select 数值1,数值2,数值3 from dual) where 条件
UPDATE 表名 SET 列名1=值,列名2=值2,... [WHERE 条件]多个字段可以使用逗号隔开,每一个 字段名=值 就是赋值,其后的WHERE 条件语句可加可不加
1
UPDATE 表名 SET 列名1=值,列名2=值2,... [WHERE 条件]
多个字段可以使用逗号隔开,每一个 字段名=值 就是赋值,其后的WHERE 条件语句可加可不加
update table set col1=value1,col2=value2 where id=?
set语句中逗号隔开即可,例如
update orders set order_qty=1, order_date=sysdate where order_num = 1234
SQL 用update语句一次更新多个字段语句格式如下:
UPDATE 表名 SET 列名1=值,列名2=值2,... [WHERE 条件]
多个字段时可以用逗号隔开,每个 字段名=值 就是给字段赋值,其后的WHERE 条件语句可以用也可以不用
扩展资料:
update用途:更新表中原有数据
单独使用,使用where匹配字段
set后面,更新字段值,既可以一次一项,也可以一次多项
例如1,
Update table_name Set column_name = new_value Where column_name = some_value
例:
“Person”表中的原始数据:
LastName FirstName Address City
Nilsen Fred Kirkegt 56 Stavanger
Rasmussen Storgt 67
运行下面的SQL将Person表中LastName字段为”Rasmussen”的FirstName更新为”Nina”:
UPDATE Person SET FirstName = 'Nina' WHERE LastName = 'Rasmussen'
更新后”Person”表中的数据为:
LastName FirstName Address City
Nilsen Fred Kirkegt 56 Stavanger
Rasmussen Nina Storgt 67
同样的,用UPDATE语句也可以同时更新多个字段:
例如2,
UPDATE Person SET Address = 'Stien 12', City = 'Stavanger' WHERE LastName = 'Rasmussen'
更新后”Person”表中的数据为:
LastName FirstName Address City
Nilsen Fred Kirkegt 56 Stavanger
Rasmussen Nina Stien 12 Stavanger
参考资料:
百度百科--update
SQL语句中关于UPDATE和WHERE的问题。
UPDATE 表A SET B项 = C值
WHERE 表A的Id(表A与表D关联的Id) in
(SELECT 表D的Id(表A与表D关联的Id) FROM 表D WHERE E项=F值)
这个逻辑挺特殊的,不过可以参考如下:
update a set B="C" where F in (select E from D)
表D与表A要有关联关系,例如:
UPDATE table_a
set
table_a.item_b=value_c
where
table_a.item_e in (
selec
table_d.item_e
from
table_d
where
table_d.item_e like '%F%')
UPDATE 表A SET B项 = C值 WHERE E值 in (select D值 from 表A )
SQL里面update set 的用法
update A set age = age + 1 where name='男'
根据你的需要:
张三更新为小张;
王五更新为小王。
这两个需求更新的对象都是name,但是更新的数据和源数据都不相同,所以不能用一条语句来达到更新两个人的信息的目的。所以只能逐个更新。sql语句如下:
update A set name=小张 where name=张三;update A set name=小王 where name=王五;commit;你可以将语句放在一起执行。达到想要的效果。
希望有帮到你。
如果满意,请采纳。谢谢。
SQL update set的用法
这两个需求更新的对象都是name,但是更新的数据和源数据都不相同,所以不能用一条语句来达到更新两个人的信息的目的。所以只能逐个更新。
update A set name='小张', xb='男' where name='张三'
update的两个字段中间用逗号隔开就可以
需要准备的工具:SQL数据库,电脑。
1、首先打开SQL Database Studio。
2、点击展开数据库连接和数据库。
3、右击要导出的视图,然后选择【generate sql from data】
4、在【command type】中选择【UPDATE】。
5、然后点击【save to file】
6、此时sql文件就生成了。
SQL语句中关于UPDATE和WHERE的问题:
如果仅仅从字面上去理解的话那么if exists (select * from 表d where e项 = f值 ) update 表a set b项 = c值括号内的条件成立就update表a 很少会需要这么来写,楼主是否遗漏了表A和表D的关联性描述? ^_^
UPDATE A SET B = C WHERE E = F FORM D;
这句话不可能写成,where后面跟的语句中的表必须与前面的表相关联,如果是“UPDATE 表A SET B项 = C值 WHERE 表A中的E项的值等于F”,则可以写成:UPDATE A SET B = C WHERE E = F ;如果不懂可以追问,希望描述准确点。