627. 交換工資
給定一個 salary
表,如下所示,有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 |
可以用兩種方法來做,第一種if:
update salary set sex = if(sex = 'm', 'f','m');
第二種case...when..then..else..end:
UPDATE salary SET sex = (CASE WHEN sex = 'm' THEN 'f' ELSE 'm' END)