LeetCode刷題(數據庫)---- 交換工資


題:給定一個工資表,如下所示,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    |

 

分析:

1、update更新操作

2、條件判斷

 

將要求流程語句表示:

IF sex='f' SET sex='m' 

IF sex='m' SET sex='f' 

 

IF語法介紹:

IF(expr1,expr2,expr3)
如果 expr1 是TRUE (expr1 <> 0 and expr1 <> NULL),則 IF()的返回值為expr2; 否則返回值則為 expr3。IF() 的返回值為數字值或字符串值,具體情況視其所在語境而定。

 

 解答:

UPDATE salary 
SET sex=IF(sex='f','m','f');

 

理解:

如果sex='f',則 IF(sex='f','m','f')表達式的值為'm',

如果sex='m',則 IF(sex='f','m','f')表達式的值為'f',

然后更新相應的值

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM