詳細見: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...