力扣白嫖日记(sql)

文章讲述了如何在SQL中使用UPDATE语句,结合枚举类型,解决LeetCode上关于合并表的问题,要求仅用单个UPDATE语句改变所有员工的性别,涉及if-else和case-when条件判断。

前言

练习sql语句,所有题目来自于力扣(https://leetcode.cn/problemset/database/)的免费数据库练习题。

今日题目:

175.组合两个表
表:Salary

列名类型
idint
namevarchar
sexENUM
salaryint

id 是这个表的主键(具有唯一值的列)。sex 这一列的值是 ENUM 类型,只能从 (‘m’, ‘f’) 中取。本表包含公司雇员的信息。
ENUM 类型(枚举型,枚举实际存储是使用数值,映射对应的元素数据,从1开始)


我那不值一提的想法:

首先梳理一下表内容,题目只给了一个工资表,包含了员工id,姓名,性别还有薪水。其次分析需求,需要将所有人更改性别,并且只能使用单个update语句,且不能使用了select语句,这里很明显需要逻辑判断,直接用if或者case when。但是update太久没用了,先来复习一下update函数,格式:

update 表名称 set 列名称 = 新值 where 列名称 = 某值

使用if:

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

使用case when:

update Salary
set sex = 
case 
    when sex = "m" then "f"
    else "m"
end 


结果:

在这里插入图片描述

总结:

能运行就行。


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值