SQL-每日一题【627. 变更性别】

题目

Salary 表:

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

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

查询结果如下例所示。

示例 1:

解题思路

1.题目要求我们将性别进行变更,也就是交换所有的 'f' 和 'm' 。并且不可以用 select 语句,那我们就利用 update 和 case 函数去实现。

2.我们先利用 case 函数 将性别为 'm' 的变为 'f' ,性别为'f'的变为 'm',然后更新到 salary 表的 sex 属性中即可。

代码实现

sql 复制代码
update salary 
 set sex = ( 
     case sex when 'm' then 'f' else 'm' end);

测试结果

相关推荐
C137的本贾尼7 分钟前
InnoDB 的物理世界:表空间、段、区与页
数据库
JdSnE27zv7 分钟前
EF Code First学习笔记:数据库创建
数据库·笔记·学习
我是一颗柠檬23 分钟前
【Redis】Redis性能优化Day14(2026年)
数据库·redis·性能优化
程序员老油条29 分钟前
用 AI 生成复杂 SQL:LangChain4j + 本地模型实践
数据库·人工智能·sql
IT邦德32 分钟前
Oracle 26ai RAC 通过gold image RU打补丁
数据库·oracle
smith成长之旅32 分钟前
08 | Mem0 框架分析: BM25 的 Sigmoid 归一化
数据库·python·算法
C137的本贾尼44 分钟前
MySQL 整体架构与存储引擎对比
数据库·mysql·架构
C137的本贾尼1 小时前
【实战】分析一张真实业务表的 InnoDB 存储结构
java·大数据·数据库
超梦dasgg1 小时前
亿级数据 不停服务平滑迁移(生产环境实战方案)
java·数据库
j_xxx404_1 小时前
MySQL数据库基础硬核解析:从 C/S 网络服务到磁盘文件与存储引擎
linux·运维·服务器·开发语言·数据库·mysql·ai