sql update 按条件更新_leetcode题库-sql练习精讲系列--十六、按条件修改表内数据...

这是一个系列文章,这个系列的理念是通过一道题,搞懂一类题。涵盖了SQL面试最常考的知识点。搞懂这些题,面试时工作中sql不可能有问题。

文章分为引入问题-完整解析-答案-leetcode题和答案-知识点拓展-BAT等大厂面试真题几个部分。

希望能帮你全方位的弄懂。有问题可以留言,码字不易,写一篇要好几个小时,希望能得到点赞收藏哦

一、问题-leetcode题库-627.变更性别

给定一个 薪资表,如下所示,有 男 和 女 的值。交换所有的 男 和 女 值。要求只使用一个更新(Update)语句,并且没有中间的临时表。

d4323222d2b9083483d8e872c30be7cf.png

注意,您必只能写一个 Update 语句,请不要编写任何 Select 语句。

二、准备

create table 薪资表 (
员工编号 int(20),
姓名 varchar(20),
性别 varchar(20),
薪资 int(20));


insert into 薪资表 values
(1,'张三','男',2500),
(2,'李四','女',1500),
(3,'王五','男',5500),
(4,'赵六','女',500);

三、解题

[解题思路]

1.确定需要变换的内容。这里我们需要将员工的性别互换。

case 薪资表
     when 男 then 女    #将男换为女
     else 男            #将女换为男
end

2.根据题目的要求不要编写任何select语句。所以 使用update + set。

UPDATE 薪资表
SET
    性别 = CASE 性别
        WHEN '男' THEN '女'
        ELSE '男'
    END;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值