627. Swap Salary
Easy
SQL Schema
Given a table salary
, such as the one below, that has m=male and f=female values. Swap all f and m values (i.e., change all f values to m and vice versa) with a single update statement and no intermediate temp table.
Note that you must write a single update statement, DO NOT write any select statement for this problem.
Example:
1 | | id | name | sex | salary | |
After running your
update
statement, the above salary table should have the following rows:
1 | | id | name | sex | salary | |
题目说明,交换sex字段的男女性别
方案一
1 | UPDATE salary set sex = CASE sex WHEN 'm' THEN 'f' WHEN 'f' THEN 'm' END |
result
Runtime: 193 ms, faster than 5.38% of MySQL online submissions for Swap Salary.
效率差的不是一点点。。
方案二
看看讨论区
1 | UPDATE salary |
result
Runtime: 143 ms, faster than 72.96% of MySQL online submissions for Swap Salary.
方案三
1 | UPDATE salary SET sex = IF(sex='m','f','m'); |
result
Runtime: 143 ms, faster than 72.96% of MySQL online submissions for Swap Salary.