zoukankan      html  css  js  c++  java
  • LeetCode刷题(数据库)---- 交换工资

    题:给定一个工资表,如下所示,m=男性 和 f=女性 。交换所有的 f 和 m 值(例如,将所有 f 值更改为 m,反之亦然)。要求使用一个更新查询,并且没有中间临时表。

    例如:

    | id | name | sex | salary |
    |----|------|-----|--------|
    | 1  | A    | m   | 2500   |
    | 2  | B    | f   | 1500   |
    | 3  | C    | m   | 5500   |
    | 4  | D    | f   | 500    |

    运行你所编写的查询语句之后,将会得到以下表:

    | id | name | sex | salary |
    |----|------|-----|--------|
    | 1  | A    | f   | 2500   |
    | 2  | B    | m   | 1500   |
    | 3  | C    | f   | 5500   |
    | 4  | D    | m   | 500    |

    分析:

    1、update更新操作

    2、条件判断

    将要求流程语句表示:

    IF sex='f' SET sex='m' 
    
    IF sex='m' SET sex='f' 

    IF语法介绍:

    IF(expr1,expr2,expr3)
    如果 expr1 是TRUE (expr1 <> 0 and expr1 <> NULL),则 IF()的返回值为expr2; 否则返回值则为 expr3。IF() 的返回值为数字值或字符串值,具体情况视其所在语境而定。

     解答:

    UPDATE salary 
    SET sex=IF(sex='f','m','f');

    理解:

    如果sex='f',则 IF(sex='f','m','f')表达式的值为'm',

    如果sex='m',则 IF(sex='f','m','f')表达式的值为'f',

    然后更新相应的值

  • 相关阅读:
    MySQL-安装mysql8
    MySQL-Prometheus
    MySQL-sysbench
    MySQL-客户端登录问题
    学习进度第十六周
    学习进度第十五周
    寻找最长单词链
    用户体验评价
    学习进度第十四周
    找水王问题
  • 原文地址:https://www.cnblogs.com/zqunor/p/8635371.html
Copyright © 2011-2022 走看看