题目:
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 筛选条件
标签:...,set,627,when,update,sex,力扣,MySQL,字段名 From: https://www.cnblogs.com/liu-myu/p/17294850.html