postgreSQL的update语句

这里作者用的是DBeaver新建一个SQL语句进行示范:
首先申明下,由于当我们查询一个语句时候,输入表名后,查询语句后边会有一个表名的缩写:

所以在下边,我们之后一般用到的条件语句,都是用的表名缩写表示。
首先这是表A和表B的数据:


现在我们要将B表中的name根据id更新到A表中,代码:

update test_a ta set name = tb.name
from test_b tb where ta.id = tb.id

但是如果扩展下,b中数据如下:

现在我们要将B表中的数据根据b_id是否相同合并,合并情况如下:

合并代码如下:

select string_agg(name, ';') as b_all_name, b_id from test_b tb group by b_id;
或者
select string_agg(name, ';') b_all_name, b_id from test_b tb group by b_id;

现在我们要将这个表的数据根据b_id更新到A表中去,合并代码如下:

with tbb as(
select string_agg(name, ';') b_all_name, b_id from test_b tb group by b_id)
update test_a ta set name = tbb.b_all_name
from tbb where id = tbb.b_id;

现在再来看A表中的数据:

可以看到id为4,5的数据进行了更新。
sql格式:

with xxx as(~~~)
update xxx1 set name= xxx.name
from xxx
where id=xxx.id

此处利用了string_agg聚合函数,参考链接:
https://www.postgresql.org/docs/9.3/functions-aggregate.html

希望对您有帮助~

postgreSQL的update语句相关推荐

  1. PostgreSQL UPDATE 语句

    UPDATE 语句 如果我们要更新在 highgodb 数据库中的数据,我们可以用 UPDATE 来操作. 语法 以下是 UPDATE 语句修改数据的通用 SQL 语法: UPDATE table_n ...

  2. 如何在SQL中使用JOIN执行UPDATE语句?

    我需要使用其"父"表中的数据更新SQL Server 2005中的此表,请参见下文: 销售 id (int) udid (int) assid (int) ud id (int) ...

  3. 如何使用Hibernate批处理INSERT和UPDATE语句

    介绍 JDBC长期以来一直为DML语句批处理提供支持. 默认情况下,所有语句都一个接一个地发送,每个语句都在单独的网络往返中发送. 批处理使我们能够一次性发送多个语句,从而节省了不必要的套接字流刷新. ...

  4. 动手为王:由一条UPDATE语句引发的一波三折深入实践(含PPT)

    关注我们获得更多精彩 编辑说明:这篇文章源自我几年前的一个演讲,当时我在『甲骨文技术大会』分享了一个关于SQL的主题,其中的一个案例推演了几个步骤,后来本文作者『刘晨』做了验证.实验,并且分享在他的博 ...

  5. 【学习笔记】一些postgreSQL常用sql语句

    [学习笔记]一些postgreSQL常用sql语句 1.序列自增id 2.将从一个表中查出来的数据插入到另一个表中 3.sql更新替换字段中某个字 4.统计一个字段多个值的次数 5.统计某个字段重复项 ...

  6. MySQL这样写UPDATE语句,劝退

    欢迎关注方志朋的博客,回复"666"获面试宝典 # 起因 最近,好几次有开发同学在钉钉上问我,比如下图: 问题归纳起来就是:在MySQL里面update一条记录,语法都正确的,但记 ...

  7. 把我坑惨的一个update语句!

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 来源:ju.outofmemory.cn/entry/336774 ...

  8. 关于Access数据库执行Update语句后,不报错,但影响行数总是返回0的问题

    最近碰到一个奇怪的问题,使用Access数据库执行Update语句后,不报错,但影响行数总是返回0. 因为是第一次碰到这个问题,纠结了半天.后来在网上搜索得到解决方案: SQL语句传参数的顺序和语句中 ...

  9. mysql update 有中文_MySQL Update语句一个非常经典的“坑”

    点击关注上方"SQL数据库开发", 设为"置顶或星标",第一时间送达干货 起因 最近好几次有开发同学在钉钉上问我,比如下图: 问题归纳起来就是:在MySQL里面 ...

最新文章

  1. linux pcie热插拔驱动_Linux安装TLP-高级电源管理工具
  2. matlab 代码开头,诸位大神请帮我讲解一下每个程序开头这些行的意思
  3. js中动态引入css样式文件
  4. ConcurrentHashMap笔记
  5. map文件分析 stm32_浅谈STM32的启动过程
  6. java 定时为每月10号_Java定时器的cron设置详解Quartz
  7. java file 只读_Java如何设置文件为只读?
  8. 对话月薪10万的技术老兵:技术人如何开心工作、快乐赚钱?
  9. 我的世界局域网游戏环境搭建
  10. Linux入门参考文档(超详细)
  11. python添加pythonhome参数,如何在python中向烧瓶烧瓶添加参数?
  12. Window Flag 含义
  13. HTML5游戏化互动学习平台,h5游戏平台_触摸型互动slg黄油手游
  14. java的三种技术架构
  15. VC有什么用,该如何学习?
  16. 5号字对应的数字字号_请问在WORD文档里,字体大小所对应的用数字表示是多少...
  17. Python——文档
  18. 企业信息化有什么价值?如何实现?
  19. CF--998D. Roman Digits
  20. 【5G系列】NAS层PLMN选择(2)——选网过程

热门文章

  1. LCR 自动测试系统
  2. 农村小学使用计算机新闻稿,科技圆梦 生活美好——2017年东边小学科技节活动报道...
  3. 建立自信心的有效方法
  4. 天刀显示连接服务器失败,天涯明月刀手游游戏进不去怎么办 服务器已满解决办法...
  5. alin的学习之路:任务队列的封装
  6. 服务器开发24补充:市面上一些xml第三方库解析速度的对比,tinyxml、tinyxml2、Qt、RapidXml、PugiXml,和tinyxml与tinyxml2的对比
  7. 【Chrome插件开发】ReRes和request-interceptor源码赏析+复现+插件开发完整解决方案
  8. 无法识别U盘的解决办法
  9. OpenCV实践之路——Qt中用opencv提取和匹配SIFT特征点
  10. 容联入选「2020中国ToB新增长势力ToP榜」