leetcode-sql-627变更性别

题目:

Salary 表:

±------------±---------+

| Column Name | Type |

±------------±---------+

| id | int |

| name | varchar |

| sex | ENUM |

| salary | int |

±------------±---------+

id 是这个表的主键(具有唯一值的列)。

sex 这一列的值是 ENUM 类型,只能从 ('m', 'f') 中取。

本表包含公司雇员的信息。

请你编写一个解决方案来交换所有的 'f' 和 'm' (即,将所有 'f' 变为 'm' ,反之亦然),仅使用 单个 update 语句 ,且不产生中间临时表。

注意,你必须仅使用一条 update 语句,且 不能 使用 select 语句。

结果如下例所示。

示例 1:

输入:

Salary 表:

±---±-----±----±-------+

| 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, A) 和 (3, C) 从 'm' 变为 'f' 。

(2, B) 和 (4, D) 从 'f' 变为 'm' 。

解答:

sql 复制代码
update Salary set sex = (case when sex = 'm' then 'f' else 'm' end)
相关推荐
kushu733 分钟前
MySQL 索引
数据库·mysql
bing_1581 小时前
Spring Boot @Validated 和@Valid 区别
java·数据库·spring boot
2501_920047032 小时前
MySQL-锁
数据库·mysql·adb
Zfox_3 小时前
Redis应⽤-缓存与分布式锁
服务器·数据库·redis·分布式·缓存
paopaokaka_luck3 小时前
基于SpringBoot+Uniapp的血压监控小程序(Echarts图形化分析)
数据库·vue.js·spring boot·mysql
上海云盾-高防顾问3 小时前
小白入门指南:Edge SCDN 轻松上手
数据库·安全·edge
小蜗的房子4 小时前
Red Hat Enterprise Linux 7.9安装Oracle 11.2.0.4单实例数据库-图文详解
linux·运维·服务器·数据库·sql·oracle·数据库架构
枫叶丹44 小时前
跨端边云时序数据管理新范式:Apache IoTDB 的 DB+AI 融合之道
数据库·iotdb
不辉放弃5 小时前
FlinkSql(详细讲解二)
数据库·flink·大数据开发
就叫飞六吧9 小时前
麻溜启动Oracle实例demo
数据库·oracle