交換工資sql

2021-09-27 21:37:28 字數 741 閱讀 7683

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

注意,您必只能寫乙個 update 語句,請不要編寫任何 select 語句。

例如:id

name

***salary1a

m25002b

f15003c

m55004d

f500

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

idname

***salary1a

f25002b

m15003c

f55004d

m500

方法一、

update salary

set ***=

case ***

when

'f'then

'm'else

'f'end

;

應用到 case…when…then…else…

方法二、

update salary

set ***=

if(***=

'f',

'm',

'f')

;

if(expr,v1,v2) 如果表示式 expr 成立,返回結果 v1;否則,返回結果 v2

SQL語句題 交換工資

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

627 交換工資

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

627 交換工資

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