一、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 = ''

  这里是将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 = '' 

  致谢:感谢您的阅读!

update使用inner join的更多相关文章

  1. SQL UPDATE with INNER JOIN

    mysql - SQL UPDATE with INNER JOIN - Stack Overflowhttps://stackoverflow.com/questions/14491042/sql- ...

  2. Delete,Update与LEFT Join

    UPDATE:UPDATE A SET ApproverID=NULL FROM [SH_MaterialApplyBuyBill] A LEFT JOIN [SH_MaterialApplyBuyB ...

  3. LLBLGen update table with join

    Table1 id Name 1 xxx 2 ooo Table2 Table1Id Table1Name Column1 Column2 Column3 1 sss xxxx xxxx xxxx 2 ...

  4. UPDATE INNER JOIN 两表联合更新

    UPDATE B_READMETER_HANDWORK INNER JOIN B_READMETER_ORDER_SP ON B_READMETER_HANDWORK.ID = B_READMETER ...

  5. 组以逗号分隔的子串及跨平update join

    下列语句可以对组以逗号分隔的子串 set @device_cd_array += ', ' set @device_cd_array += @nodeid ,, '') update时要join表要先 ...

  6. SQL Server中UPDATE和DELETE语句结合INNER/LEFT/RIGHT/FULL JOIN的用法

    在SQL Server中,UPDATE和DELETE语句是可以结合INNER/LEFT/RIGHT/FULL JOIN来使用的. 我们首先在数据库中新建两张表: [T_A] CREATE TABLE ...

  7. [转]MySQL update join语句

    原文地址:https://www.jianshu.com/p/f99665266bb1 在本教程中,您将学习如何使用MySQL UPDATE JOIN语句来执行跨表更新.我们将逐步介绍如何使用INNE ...

  8. MySQL与SQLServer的update left join语法区别

    需求: 表A 字段 A_ID, A_NAME, B_ID 表B 字段 B_ID, B_NAME 需求把A的所有A_NAME更新为相应的B的 B_NAME. mysql做法: UPDATE A LEFT ...

  9. mysql update 的时候使用left join和where语句

    在使用update语句的时候我们有时候需要利用left join 关联表,以下是正确操作: 效果,让指定的order表id为1,2,3数据的finish_at字段更新为freports表的create ...

随机推荐

  1. BZOJ4241 历史研究 莫队 堆

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目 Description IOI国历史研究的第一人——JOI教授,最近获得了一份被认为是古代IOI国的住民写下的日记.JO ...

  2. systemd创建自定义服务(Ubuntu)

    /lib/systemd/system下创建test.service文件 vim /lib/systemd/system/test.service [Unit] Description=test [S ...

  3. request和session的区别

    request多用于表单提交,表单数据等 session用于服务器端的记录变量,比如用户的登陆和登出啊 request 资源占用小,安全性较高,但是不持续性 session 资源消耗较大,安全性较低, ...

  4. HDU-1170的解题报告

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1170 题意:要求输入几个案例,每个案例包含操作符(+,-,*,/),操作数(两个整数).现在要求分别输 ...

  5. Django分页(一)

    Django分页(一) 手动实现简单分页 HTML <!DOCTYPE html> <html lang="en"> <head> <me ...

  6. 使用SpringSecurity

    前几天写了一个SpringBoot对拦截器的使用,在实际项目中,对一些情况需要做一些安全验证,比如在没有登录的情况下访问特定的页面应该解释的拦截处理.这一篇介绍使用SpringSecurity来做简单 ...

  7. web前端知识大纲:系列三 html篇

    web前端庞大而复杂的知识体系的组成:html.css和 javascript 三.HTML 1.BOM BOM 是 Browser Object Model的缩写,即浏览器对象模型,当一个浏览器页面 ...

  8. Android应用源码 概览

    之前我讲过关于Android应用源码的使用,不要走弯路,没有用的源码不要深究. 记住目录就好. 这里还有很多源码, Javaapk这个网站里的.还有很多. 这些源码 有可能有用. 但是不必故意用它. ...

  9. BZOJ.3944.Sum(Min_25筛)

    BZOJ 洛谷 不得不再次吐槽洛谷数据好水(连\(n=0,2^{31}-1\)都没有). \(Description\) 给定\(n\),分别求\[\sum_{i=1}^n\varphi(i),\qu ...

  10. HTML使用的几个小知识点

    本文主要分享几个网页前端的几个基础知识点,用于零碎的html知识学习,同时也是在实践中的一些心得.最后给出了几个小例子. 1. 网页编程初识 掌握基本的html标签以及CSS语法 学会查看网页的源代码 ...