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);

测试结果

相关推荐
treacle田10 分钟前
达梦数据库-收缩数据库表空间步骤及示例记录总结
数据库·达梦数据库收缩表空间
丷丩21 分钟前
Postgresql基础实践教程(五)
数据库·postgresql
lqj_本人1 小时前
鸿蒙PC:Qt适配OpenHarmony实战【花账】:从一笔支出开始,做一个本地记账小应用
数据库·qt·harmonyos
kaico20181 小时前
数据库操作
数据库·python
TDengine (老段)1 小时前
TDengine 存储引擎概览 — TSDB 分层存储架构与数据流转全景
大数据·数据库·物联网·架构·时序数据库·tdengine·涛思数据
Full Stack Developme1 小时前
SQL like 与 正则 区别
数据库·sql·mysql
pixcarp1 小时前
Redis ZSet:底层设计与实践
数据库·redis·后端·学习·golang·web
我是一颗柠檬1 小时前
【MySQL全面教学】MySQL多表查询与JOIN Day6(2026年)
数据库·后端·sql·mysql
倒流时光三十年1 小时前
PostgreSQL COPY命令:高效数据导入的最佳实践
数据库·postgresql
shuair1 小时前
redis分布式锁
数据库·redis·分布式