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)
相关推荐
小欣加油8 小时前
leetcode56 合并区间
c++·算法·leetcode·职场和发展
海南java第二人8 小时前
Nebula Graph 实战:基于图数据库存储 CMDB 实体关系
数据库·图数据库·nebula
曹牧9 小时前
oracle:“not all variables bound”
数据库·oracle
数据库百宝箱9 小时前
Oracle RMAN Image Copy 本地恢复
数据库·oracle
zuYM4g7Dp10 小时前
NoSql数据库设计心得
数据库·nosql
8Qi811 小时前
LeetCode 516:最长回文子序列
算法·leetcode·职场和发展·动态规划
睡不醒男孩03082312 小时前
第七篇:揭秘 PostgreSQL 数据库内核级管控:CLup 深度架构设计与高可用底座技术白皮书
数据库·postgresql·clup
cmes_love12 小时前
Level 2逐笔成交历史数据下载方法笔记
数据库·笔记·oracle
swordbob13 小时前
MySQL字符集陷阱:从Oracle迁移踩坑到utf8mb4强制规范
数据库·sql
牛油果子哥q13 小时前
【C++ STL string 】C++ STL string 终极精讲:底层原理、内存机制、全套API、深浅拷贝、易错坑点与工程实战规范
数据库·c++