博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
update使用inner join
阅读量:7074 次
发布时间:2019-06-28

本文共 650 字,大约阅读时间需要 2 分钟。

一、update 基础语法

UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

 

  上面是我们常见的更新表的方式,其实我们还可以去另外一张表的数据来更新当前的表数据,如现在就有这样子一个要求,将某一条记录show_order字段设置为最高+1。

表结构如下:

查询的sql如下:

UPDATE week_recommand w INNER JOIN (SELECT (IF(MAX(wr.show_order) IS NULL, 0, MAX(wr.show_order))) as show_order from week_recommand wr ) b SET w.show_order = b.show_order + 1 WHERE uid = '111'

 

  这里是将uid = 111的记录的show_order设置为最高+1,其实原理是,表连接后,会产生一个类似于临时的视图这么一个东西 

同样,我们可以使用子查询的方式实现上面的功能

UPDATE week_recommand w  SET w.show_order = (select b.show_order from (SELECT (IF(MAX(wr.show_order) IS NULL, 0, MAX(wr.show_order))) as show_order from week_recommand wr ) b ) + 1 WHERE uid = '111' 

 

  致谢:感谢您的阅读!

转载地址:http://xikml.baihongyu.com/

你可能感兴趣的文章
OCZ新Summit系列固态硬盘强悍性能曝光
查看>>
视频|每日CeBIT总结:中国元素充斥 多元化工业展也Fashion
查看>>
《中国人工智能学会通讯》——1.44 到底什么是虹膜识别
查看>>
存储“芯”突破口 解析3D NADN产业竞争形势
查看>>
用MAID 2.0降低存储费用
查看>>
积极推动中国金融资产市场化流动
查看>>
《中国人工智能学会通讯》——2.15 手术机器人
查看>>
旗舰店揭幕大疆无人机用阿里云全球直播
查看>>
客观看待社保系统管理漏洞
查看>>
【转载】Docker 镜像优化与最佳实践
查看>>
Kepler452b被发现 那么房价缩水究竟有没有指望?
查看>>
向亲戚朋友解释系列之什么是IP,端口和域名
查看>>
高危预警!移动设备安全面临的5大新型威胁
查看>>
Linux中如何查看显卡硬件信息
查看>>
如何在Linux上检测硬盘上的坏道和坏块
查看>>
网络架构之路(一):目标
查看>>
低功耗M2M市场广阔 芯片设计如何降耗
查看>>
软件定义技术存在哪些限制?
查看>>
拨开数据迷雾:如何理清大数据脉络?
查看>>
Java动态绑定机制的内幕
查看>>