项目:交换工资表里的男女生性别(难度:简单)
创建一个 salary表,如下所示,有m=男性 和 f=女性的值 。
例如:
| id | name | sex | salary |
|----|------|-----|--------|
| 1 | A | m | 2500 |
| 2 | B | f | 1500 |
| 3 | C | m | 5500 |
| 4 | D | f | 500 |
-- 创建表并插入数据
-- 创建表 CREATE TABLE salary ( id int(11) NOT NULL, name varchar(20) NOT NULL, sex varchar(6) NOT NULL, salary int(10) DEFAULT NULL, PRIMARY KEY (`id`)); -- 插入数据 INSERT INTO salary VALUES (‘1‘, ‘A‘, ‘f‘, ‘2500‘); INSERT INTO salary VALUES (‘2‘, ‘B‘, ‘m‘, ‘1500‘); INSERT INTO salary VALUES (‘3‘, ‘C‘, ‘f‘, ‘5500‘); INSERT INTO salary VALUES (‘4‘, ‘D‘, ‘m‘, ‘500‘);
-- 交换所有的 f 和 m 值(例如,将所有 f 值更改为 m,反之亦然)。要求使用一个更新查询,并且没有中间临时表。
运行你所编写的查询语句之后,将会得到以下表:
| id | name | sex | salary |
|----|------|-----|--------|
| 1 | A | m | 2500 |
| 2 | B | f | 1500 |
| 3 | C | m | 5500 |
| 4 | D | f | 500 |
方法1:
UPDATE salary SET sex = if (sex = ‘f‘,‘m‘,‘f‘); SELECT * from salary;
方法2:
UPDATE salary SET sex = CASE WHEN sex=‘f‘ THEN ‘m‘ ELSE ‘f‘ END; SELECT * from salary;
原文:https://www.cnblogs.com/wodexk/p/10706581.html