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)
相关推荐
Curvatureflight1 分钟前
Redis实战:缓存设计与高频场景全解析
数据库·redis·缓存
1688red2 分钟前
基于Canal实现MySQL到Elasticsearch的数据同步
数据库·mysql·elasticsearch
m0_750580303 分钟前
用Python生成艺术:分形与算法绘图
jvm·数据库·python
不要秃头的小孩3 分钟前
力扣刷题——77. 组合
数据结构·python·算法·leetcode
稻草猫.5 分钟前
MyBatis进阶:动态SQL与MyBatis Generator插件使用
java·数据库·后端·spring·mvc·mybatis
华农DrLai7 分钟前
什么是Prompt模板?为什么标准化的格式能提高稳定性?
数据库·人工智能·gpt·nlp·prompt
2301_8194143013 分钟前
Python入门:从零到一的第一个程序
jvm·数据库·python
熬夜的咕噜猫16 分钟前
Nginx 安全防护与 HTTPS 部署实战
网络·数据库
我真会写代码16 分钟前
从底层到实战:MySQL核心原理拆解,解锁数据库高性能密码
数据库·mysql
Frostnova丶17 分钟前
LeetCode 3567.子矩阵的最小绝对差
算法·leetcode·矩阵