随笔 - 384  文章 - 0  评论 - 0  阅读 - 13万

力扣627(MySQL)-变更性别(简单)

题目:

Salary 表:

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

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

查询结果如下例所示。

示例1:

 

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/swap-salary
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

 解题思路:

方法一:update + case...when

1 update Salary
2 set sex = CASE sex 
3     when 'm' then 'f'
4     when 'f' then 'm' 
5     else sex
6     end

方法二:update + if

update Salary set sex = if(sex = 'f', 'm' , 'f')

小知识:

修改单表数据语法:

1 update 表名
2 set 字段名1 = 新值1,字段名2=新值2,...
3 where 筛选条件

修改多表数据语法:

1 update 表1 别名
2 inner/left/right join 表2 别名
3 on 连接条件
4 set 字段名1=值1,字段名2 =值2,...
5 where 筛选条件

 

posted on   我不想一直当菜鸟  阅读(55)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
历史上的今天:
2022-04-07 力扣442(java)-数组中重复的数据(中等)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示