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

Posted 我不想一直当菜鸟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了力扣627(MySQL)-变更性别(简单)相关的知识,希望对你有一定的参考价值。

题目:

Salary 表:

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

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

查询结果如下例所示。

示例1:

 

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

 解题思路:

方法一:update + case...when

 update Salary
 set sex = CASE sex 
     when \'m\' then \'f\'
     when \'f\' then \'m\' 
     else sex
     end

方法二:update + if

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

小知识:

修改单表数据语法:

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

修改多表数据语法:

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

 

mysql中的case when then 的用法

技术图片

 

将立立饭饭的性别变更为女 ,烦烦 嗯嗯 问我的性别变更为男

update `table`  set 
sex = (
case 
    when sname in(立立,饭饭) 
    then  
    else 
end
)

技术图片

技术图片

 

以上是关于力扣627(MySQL)-变更性别(简单)的主要内容,如果未能解决你的问题,请参考以下文章

627. 变更性别

627. 变更性别

力扣-SQL入门

MySQL变更性别

MySQL变更性别

LeetCode SQL练习