这是我之前写过的一个sql语句

update tbl_safety_target t
set zj = tbs.content
from
(SELECT t.id ,t.unicode , t_xzjd.contentFROM tbl_safety_target t LEFT JOIN "ZHJG_HK_JD" zhj on t.unicode = zhj."UNISCID" left JOIN t_xzjd on zhj."XZJD"  like '%'||t_xzjd.code||'%'where zhj."XZJD" is not null
) tbs
where tbs.id = t.id

这个sql因为是实际业务中的,看起来有点杂乱

这里简单的精简下

update 需要被修改的表 as t1
set 需要被修改的列 = temp.提供数据的列
from
(这里是通过select连接查询得到的临时数据表
)tmp
where t1.id = t.id

最后一个where是将查询到的数据表和需要被修改的表关联 来赋值

但是我感觉实际上我这里的性能还是存在问题,只是提供了一个可行性 ,最后一步的where条件的内连接 似乎是多余的 理论上还是可以优化的

下面这个链接对应的博客也提供了相应的各个不同的关系型数据库sql语句写法 和我这里的写法有点不同 但是我没有做过验证 ,但是我先留存做一个记录
https://www.cnblogs.com/baili-luoyun/p/11136698.html

sql多表连接update,通过其他的表的数据update某张表的方法相关推荐

  1. 将一张表的主键作为外键关联到另一张表中

    将一张表的主键作为外键关联到另一张表中 1.外键的介绍 2.使用Navicat创建外键 3.外键的维护关系设定及其选择 1.外键的介绍 设置外键的作用很明显,就是讲两个表的数据产生关联,就比如个人信息 ...

  2. mysql 去重主表数据,两张表结构相同数据(百万级别)

    这里写自定义目录标题 mysql 去重主表数据,两张表结构相同数据(百万级别) 得到两张表的并集,查出主表在并集中出现的主键id 删除主表中重复的id,根据上面sql查出的数据 2.一部删除到位 my ...

  3. django 多对多表的创建,级联删除,手动创建第三张表

    创建一张作者表,author,创建外键与book表,多对多关系 ,外键字段放在那张表都可以, class Author(models.Model):name = models.CharField(ma ...

  4. mysql导入库排除某个表_mysql导入数据排除表-mysql导入数据排除某张表或多张表-吾爱编程网...

    mysql在导出数据的时候可以使用--ignore-table参数来排除某张或者多张表,在数据库导入同样也可以使用,接下来吾爱编程就为大家介绍一下关于mysql导入数据排除某张表或多张表的方法,有需要 ...

  5. python做值班表预测_Django model一张表中两个字段设置外键参考另一张表两个字段...

    class products(models.Model): MODE_CHOICES=(('week','周'),('day','日')) productname=models.CharField(m ...

  6. mysql join 去重_MySQL Update inner join数据库去重,以及根据一张表的值更新另一张表...

    1 问题来源 这几天在项目中遇到一个问题:由于前期设计不合理,导致后期用户录入数据时,基础数据表中有重复多余数据.如下: 出现两个 2G网络测试手机 这样类似的基础数据,直接后果就是用户在使用这个基础 ...

  7. SQL 将两张包含相同字段和不同字段的表数据合并成一张表

    此为SQL案例:将两张具备相同字段,有一部分字段不相同的两张表获取查询结果为整合之后的. 两张表 table1 table2 我想要将两者的数据进行合并达到如下的效果: 这里限制条件有两个分别是dat ...

  8. 查询分析300万笔记录_给你100万条数据的一张表,你将如何查询优化?

    1.两种查询引擎查询速度(myIsam 引擎) InnoDB 中不保存表的具体行数,也就是说,执行select count(*) from table时,InnoDB要扫描一遍整个表来计算有多少行. ...

  9. 给你100万条数据的一张表,你将如何查询优化?

    1.两种查询引擎查询速度(myIsam 引擎 ) InnoDB 中不保存表的具体行数,也就是说,执行select count(*) from table时,InnoDB要扫描一遍整个表来计算有多少行. ...

  10. Mysql 给你100万条数据的一张表,你将如何分页查询优化?

    1.两种查询引擎查询速度(myIsam 引擎 ) InnoDB 中不保存表的具体行数,也就是说,执行select count(*) from table时,InnoDB要扫描一遍整个表来计算有多少行. ...

最新文章

  1. python怎么重新启动内核_通过“ipython kernel”重新启动ipython内核
  2. 五、MySql索引基本介绍
  3. 中国厨房家具行业消费需求调查与品牌格局分析报告2022版
  4. 简单的busybox创建_用Busybox创建文件系统
  5. 浅谈严格模式和混杂模式
  6. ABaseApdater
  7. mysql 数据库定时备份 增量/全备份
  8. 直博清华!陕西女学霸:从农村走出,3次斩获国奖,还被央视采访
  9. 基于百度语音识别API的Python语音识别小程序
  10. mysql附加数据库失败_我的数据库为什么附加不上去?
  11. Scrapy爬去哪儿~上海一日游门票并存入MongoDB数据库
  12. 智能优化算法:龙格-库塔优化算法 - 附代码
  13. PowerDesigner 生成数据字典
  14. 操作系统原理与Linux实践教程申丰山版习题2的2-3答案
  15. 金蝶KIS专业版 反过账脚本
  16. python中变量名有哪些
  17. python常见语法错误
  18. 2013年,移动互联网行业技术趋势前瞻
  19. 计算机安装xp蓝屏怎么办,xp蓝屏,详细教您教你怎么修复xp蓝屏问题
  20. 正大国际期货:为什么外盘期货顺势交易这么难

热门文章

  1. 构造等比数列,求数列通项。
  2. go redis 奖池递减
  3. python怎么学精_python笔记 对比式学习
  4. 浙大中控ECS700组态软件启动失败说明
  5. 加拿大FBA海运专线需要多少时间
  6. 【数据结构】初入数据结构之布隆过滤器(Bloom Filter)及实现
  7. X1 CARBON加装固态
  8. One Switch 1.1 破解版 Mac 集合一键切换系统各项功能的神奇菜单软件
  9. VMware虚拟机软件的安装
  10. 极速60秒!用10条命令检查Linux服务器性能