`
如若_晴
  • 浏览: 110416 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

update带子查询更新

阅读更多
现在要做一下数据移植,需要更新相关的数据,需要在mysql中更新时不能将更新的表作为查询的表。
总结一下:
一:单表更新时
例如: update customer set category = 1 WHERE  deleteflag = 0 and name = '22';
注意不要子查询,mysql是不允许的。
二:带子查询的复杂更新
如:
update tb a,
(select  time,name
from tt )b
set time4=b.col
where a.name=b.name and a.time1=b.time;

注意点:
1、update 时,更新的表不能在set和where中用于子查询;
2、update 时,可以对多个表进行更新(sqlserver不行);
         如:update ta a,tb b set a.Bid=b.id ,b.Aid=a.id; 
3、update 后面可以做任意的查询,这个作用等同于from;

参考的文章:感谢原创,弄了半天才弄出来,看到这里,豁然开朗。
http://blog.csdn.net/xys_777/article/details/5793565

原需求:需要将info_stu_train_info的grade字段设成info_person_info中学号的前四位,两表根据personId关联,语句如下:
update info_stu_train_info t,(select left(perNum,4) as grade,personId from info_person_info where perNum is not null and perNum like '20%') as i set t.grade=i.grade
where t.personId=i.personId;
分享到:
评论

相关推荐

    SQL的数据操纵功能之二---更新数据

    子查询可以在`UPDATE`语句中作为条件使用,以更复杂的方式选择要更新的记录。例如,如果我们想将计算机系所有学生的成绩加5分,可以使用如下的SQL语句: ```sql UPDATE SC SET GRADE=GRADE+5 WHERE SNO IN ( ...

    sql课内上机实验数据更新

    - 带子查询的删除:这里未给出具体例子,但可以类似更新语句,根据特定条件删除元组。 在实验过程中,需要注意的是,操作数据库时要谨慎,特别是删除操作,因为一旦执行就无法恢复。此外,当试图使用`INSERT INTO`...

    空间数据库课件:第三章 关系数据库标准语言SQL3-3.ppt

    带子查询的修改语句时,例如: UPDATE SC SET Grade = 0 WHERE 'CS' = ( SELECT Sdept FROM Student WHERE Student.Sno = SC.Sno); 本章详细介绍了关系数据库标准语言SQL的基本概念和语法结构,包括数据定义、...

    交大SQLSERVER2005实用数据库上机作业(2)

    实用数据库上机作业 建立二张数据表,一张是员工信息表(Employee),一张是部门信息表(Department)。 Employee包括:员工编号(EmployeeId, int、员工姓名(EmployeeName, varchar(20))、...(使用带子查询的更新语句)

    cocoscreater1.5.2大厅带子游戏解决方案1

    - 使用WebStorm创建一个Express项目(hotupdate),作为热更新文件的托管服务器。在`public`文件夹下创建`remote-assets`文件夹,用于存放子游戏的更新资源。 3. **构建子游戏**: - 在subgame项目根目录下创建`...

    基于Python的数据库课程设计-数据库系统.zip

    {insert语句占0.4分,update语句占0.4分,delete语句占0.2分,insert要实现单个元组的插入和元组集合的插入(带子查询),要检查实体完整性(唯一和非空),参照完整性约束和check约束,约束缺失扣除0.2分。...

    带子流程的php工作流设计.pdf

    其中还包括了时间戳字段如`create_user`、`create_time`、`update_user`、`update_time`,它们记录了相关操作的用户信息和时间点。 2. 流程管理:在流程设计中,需要对流程的活动进行管理。在本文档中,可以识别出...

    【2019-2020春学期】数据库作业9:SQL练习6 – INSERT / UPDATE / DELETE / NULL / VIEW

    - **带子查询的更新**:例如,将计算机科学系所有学生的成绩设为0:`UPDATE SC SET Grade = 0 WHERE Sno IN (SELECT Sno FROM Student WHERE Sdept = 'CS');` 3. **DELETE操作**: - **删除数据**:`DELETE FROM ...

    数据库系统概论(王珊第五版)第十一讲.pptx

    更复杂的是带子查询的修改语句,例如将计算机科学系所有学生的成绩置零,这需要在WHERE子句中使用子查询来确定要修改的元组。 最后,数据删除操作使用`DELETE FROM`语句,格式为`DELETE FROM <表名> [ WHERE <条件>...

    北大 数据库应用上机试题access的 .doc

    - **文具类商品降价**: 创建一个更新查询,将“商品”表中“文具”类商品的单价降价 10%。 - **日用品类商品加价**: 将“日用品”类商品的单价加价 5%。 - 使用 UPDATE 语句进行数据修改。 ##### 5. 交叉表查询 - ...

    SQL语句模型及其在生成DA交互性测试需求中的应用.pdf

    特别是提出了对DML(Data Manipulation Language)SQL语句的四种基本类型——查询(select)、插入(insert)、更新(update)和删除(delete)——进行建模的方法。 4. SQL语句模型的分段表示:为了更好地解析SQL...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part4

     16.3.5 用带子查询的select语句整批量初始化orders集合(fetch属性为“subselect”)  16.3.6 迫切左外连接检索(fetch属性为“join”)  16.4 多对一和一对一关联的检索策略  16.4.1 迫切左外连接检索(fetch...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part2

     16.3.5 用带子查询的select语句整批量初始化orders集合(fetch属性为“subselect”)  16.3.6 迫切左外连接检索(fetch属性为“join”)  16.4 多对一和一对一关联的检索策略  16.4.1 迫切左外连接检索(fetch...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part3

     16.3.5 用带子查询的select语句整批量初始化orders集合(fetch属性为“subselect”)  16.3.6 迫切左外连接检索(fetch属性为“join”)  16.4 多对一和一对一关联的检索策略  16.4.1 迫切左外连接检索(fetch...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part1.rar

     16.3.5 用带子查询的select语句整批量初始化orders集合(fetch属性为“subselect”)  16.3.6 迫切左外连接检索(fetch属性为“join”)  16.4 多对一和一对一关联的检索策略  16.4.1 迫切左外连接检索(fetch...

    Git常用命令.md

    - 首次更新子模块前需要执行`git submodule init`和`git submodule update`。 - 对子模块进行修改后,需要切换到其`master`分支,然后进行提交和推送操作。 以上就是对Git常用命令的详细介绍。通过掌握这些命令,...

    Git Submodule管理项目子模块的使用

    3. **`git submodule update`**:更新子模块到与 `.gitmodules` 文件中记录的提交ID对应的版本。 4. **`git submodule foreach git pull`**:拉取所有子模块的最新代码,执行此命令会依次更新所有子模块至其远程仓库...

    eiffel-submodules-updates:带有git子模块的示例存储库

    4. **克隆带子模块的仓库**:当克隆一个含有子模块的仓库时,需要运行`git submodule init`和`git submodule update`来获取子模块的代码。不执行这些命令,子模块目录只会是一个空的目录。 5. **更新子模块**:若要...

    RealTimeStochasticLightcuts:I3D 2020论文《实时随机光切》的源代码和演示存储库

    如果要测试这两个场景,则需要使用递归克隆(git clone --recursive )或通过运行“ git submodule update --init- “递归””(如果您已经克隆了不带子模块的存储库)。 这个演示是在建由Team Minigraph微软。演示...

Global site tag (gtag.js) - Google Analytics