LeetCode-627. Swap Salary

来源:互联网 发布:淘宝日本服装代购 编辑:程序博客网 时间:2024/06/05 20:57

题目链接:627. Swap Salary


这是一道关于Mysql的题目,题目大意是:一张数据库表中有一列为sex,这一列只有两种值f(female,女的)和m(male,男的),现在要求你只用一个update语句,并且不用中间表过渡,把f转化为m,m转化为f。

这个题考的其实就是对于Mysql的关键字的了解,我个人因为工作原因基本不接触数据库表,所以并不怎么了解,后来查了才知道有以下这些关键字。

  1. 第一种解法

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

    简单解释一下,if(e1, e2, e3),e1是true的时候,返回e2;否则返回e3

  2. 第二种解法

    update Salaryset sex = (CASE WHEN sex = 'm'          THEN 'f'          ELSE 'm'          END)

    这个就不需要解释了,关键点在于对于这种写法是否了解了。

以上。