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)
相关推荐
文丑颜不良啊11 分钟前
LeetCode2241~2260题目解析
java·leetcode
文丑颜不良啊16 分钟前
LeetCode2321~2340题目解析
java·leetcode
codigger1 小时前
线上数据库连接池打满:从应急止损到架构根治的完整方案
数据库·sql·程序员
倔强的石头_1 小时前
集中式与分布式怎么选?我把手头11套系统重新过了一遍秤
数据库
挖掘狂人1 小时前
线上数据库连接池打满:从应急止损到架构根治的完整方案
数据库·sql·程序员
Rainmicro2 小时前
【无标题】
java·数据库·算法
Thanks_ks2 小时前
MySQL 的索引是什么?用图书馆的目录讲明白
数据库·sql·mysql·索引·联合索引·explain·慢查询优化
CoderYanger8 小时前
Java EE 进阶:8.MyBatis 操作数据库(入门)(第二弹)
java·数据库·spring boot·spring·面试·java-ee·mybatis
wafrdggh11 小时前
2026电商快递批量查询怎么用?固乔助手模板设置评测
大数据·数据库·小程序
一个天蝎座 白勺 程序猿11 小时前
KingbaseES数据库归档重做日志文件管理:从配置到运维的实战指南
运维·数据库·oracle·kingbasees·金仓数据库