MySQL資料庫 複雜查詢(一)第一關

2021-10-23 13:12:57 字數 1842 閱讀 3952

@r星校長

第1關:交換工資

本關任務:給定一張tb_salary表,如下所示,有m = 男性f = 女性的值。交換所有的fm值(例如,將所有f值更改為m,反之亦然)。

idname

***salary

1elon

f7000

2donny

f8000

3carey

m6000

4karin

f9000

5larisa

m5500

6sora

m500

要求只使用一句更新update語句,且不允許含有任何select語句完成任務。

程式設計要求

提示可能需要使用到case函式或if函式,使用方法如下例項:

select

case

###如果

when ***=

'1'then

'男'###***='1',則返回值'男'

when ***=

'2'then

'女'###***='2',則返回值'女'

else

'其他'

###其他的返回'其他』

end###結束

from sys_user ###整體理解: 在sys_user表中如果***='1',則返回值'男'如果***='2',則返回值'女' 否則返回'其他』

select

if(***=

'1',

'男',

'女')

as *** from sys_user;

###如果***='1'則返回值'男' 否則返回值為'女'

預期輸出:
+

----+--------+-----+--------+

| id | name | *** | salary |

+----+--------+-----+--------+|1

| elon | m |

7000||

2| donny | m |

8000||

3| carey | f |

6000||

4| karin | m |

9000||

5| larisa | f |

5500||

6| sora | f |

500|

+----+--------+-----+--------+

開始你的任務吧,祝你成功!

答案:

update tb_salary

set *** =

case *** when

'm'then

'f'### 如果***='m'則返回值為'f'

else

'm'### 否則返回值為'm'

end;

資料庫複雜查詢

查詢a表的最後一次新增的資料 select a.from a a,select t.userid id,max t.timer ti from select from tablename where createtime between to date 2018 04 01 yyyy mm dd a...

資料庫查詢一

一.查詢 1.簡單查詢 select 目標列 from 表名 where 條件 先寫表名,條件,再寫要的目標 2.查詢後改別名 select 目標列 as from 表名 where 條件 二.where 查詢滿足條件的元組常用的查詢條件 1.2和4 法一 or 法二 where pid in 2,...

資料庫複雜查詢實驗

一 實驗目的 通過本次實驗使學生掌握資料庫中表資料的各種複雜查詢操作。二 實驗內容 1 連線查詢 2 巢狀查詢 3 謂詞查詢 三 實驗環境 1 windows 2 sql server 四 實驗步驟及結果 1 建立乙個資料庫,檔名為 教學 create database teach 2 開啟 教學 ...