题
目
描
述
:
\color{blue}题目描述:
题目描述:
给定一个 salary 表,如下所示,有 m = 男性 和 f = 女性 的值。交换所有的 f 和 m 值(例如,将所有 f 值更改为 m,反之亦然)。要求只使用一个更新(Update)语句,并且没有中间的临时表。
注意,您必只能写一个 Update 语句,请不要编写任何 Select 语句。
例如:
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 |
思
路
分
析
:
\color{blue}思路分析:
思路分析:
使用if函数即可。
x = if (条件判断, 成立y, 不成立z)
代 码 实 现 : \color{blue}代码实现: 代码实现:
#更新salary表
update salary
#如果sex = 'f'修改为'm',否则修改为'f'
set sex = if (sex = 'f', 'm', 'f');
博
客
推
荐
:
\color{blue}博客推荐:
博客推荐:
此题涉及到MySQL中的if函数、数据管理,请参考我的专栏:
MySQL从入门到精通之常见函数
MySQL从入门到精通之数据的管理