Leetcode 627 交換工資

2021-09-12 02:18:31 字數 2292 閱讀 1027

詳細見:leetcode 題目總結 - sql

給定乙個 salary 表,如下所示,有 m=男性 和 f=女性 的值 。交換所有的 f 和 m 值(例如,將所有 f 值更改為 m,反之亦然)。要求使用乙個更新(update)語句,並且沒有中間臨時表。

請注意,你必須編寫乙個 update 語句,不要編寫任何 select 語句。

例如:

| id | name | *** | salary |

|----|------|-----|--------|

| 1 | a | m | 2500 |

| 2 | b | f | 1500 |

| 3 | c | m | 5500 |

| 4 | d | f | 500 |

執行你所編寫的更新語句之後,將會得到以下表:

| id | name | *** | salary |

|----|------|-----|--------|

| 1 | a | f | 2500 |

| 2 | b | m | 1500 |

| 3 | c | f | 5500 |

| 4 | d | m | 500 |

-- ----------------------------

-- table structure for `salary`

-- ----------------------------

drop

table

ifexists

`salary`

;create

table

`salary`

(`id`

int(11)

notnull

,`name`

varchar(10

)not

null

,`***`

varchar(10

)not

null

,`salary`

int(11)

notnull

, primarykey (

`id`))

engine

=innodb

default

charset

=utf8mb4;

-- ----------------------------

-- records of salary

-- ----------------------------

insert

into

`salary`

values

('1'

,'a'

,'m'

,'2500');

insert

into

`salary`

values

('2'

,'b'

,'f'

,'1500');

insert

into

`salary`

values

('3'

,'c'

,'m'

,'5500');

insert

into

`salary`

values

('4'

,'d'

,'f'

,'500'

);

方法一:使用if函式

if(expr1, expr2, expr3)如果expr1為true,則if()的返回值為expr2;否則返回值為expr3。

# write your mysql query statement below

update salary

set *** =

if(*** =

"f",

"m",

"f")

;

方法二:使用case…when…then…else…end

update salary 

set *** =

(case

when *** =

'm'then

'f'else

'm'end

);

詳細見:leetcode 題目總結 - sql

LeetCode 627 交換工資

給定乙個salary表,如下所示,有m 男性和f 女性的值。交換所有的f和m值 例如,將所有f值更改為m,反之亦然 要求只使用乙個更新 update 語句,並且沒有中間的臨時表。注意,您必只能寫乙個 update 語句,請不要編寫任何 select 語句。例如 id name salary1a m2...

Leetcode627 交換工資(MySQL)

leetcode database 題目 sql架構 給定乙個 salary 表,如下所示,有 m 男性 和 f 女性 的值。交換所有的 f 和 m 值 例如,將所有 f 值更改為 m,反之亦然 要求只使用乙個更新 update 語句,並且沒有中間的臨時表。例 id name salary 1 a ...

627 交換工資

給定乙個 salary 表,如下所示,有 m 男性 和 f 女性 的值。交換所有的 f 和 m 值 例如,將所有 f 值更改為 m,反之亦然 要求只使用乙個更新 update 語句,並且沒有中間的臨時表。注意,您必只能寫乙個 update 語句,請不要編寫任何 select 語句。例如 id nam...