zoukankan      html  css  js  c++  java
  • 第二题:Swap Salary

    https://leetcode.com/problems/swap-salary/description/

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

    只用一个 SQL 查询,将 sex 字段反转。

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

    首先,我想先总结一下在mysql中 if 和 case 语句的使用

    IF表达式

    IF(expr1,expr2,expr3)

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

    CASE WHEN 表达式

    case                                -------------如果
        when sex='1' then '男' -------------sex='1',则返回值'男'
        when sex='2' then '女' -------------sex='2',则返回值'女'  
        else 0                          -------------其他的返回0
        end                              -------------结束

    所以该题的解题为:

    UPDATE salary
    SET sex = CASE 
              WHEN sex = 'f' THEN 'm'
              ELSE 'f'
              END;

    也可以用IF判断

    UPDATE salary
    SET sex = IF(sex = 'm','f','m');
  • 相关阅读:
    第二次作业
    初学JAVA的 感想 尹鑫磊
    初学JAVA 感想
    《将博客搬至CSDN》
    JAVA中的几种内部类
    JAVA-静态变量与实体变量
    teacher页面的代码
    测试说明书的概述和摘要
    网站的概述
    html与xhtml的区别
  • 原文地址:https://www.cnblogs.com/xlzfdddd/p/10425460.html
Copyright © 2011-2022 走看看