@r星校長
第1關:交換工資
本關任務:給定一張tb_salary
表,如下所示,有m = 男性
和f = 女性
的值。交換所有的f
和m
值(例如,將所有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 開啟 教學 ...