练习sql语句,所有题目来自于力扣(https://leetcode.cn/problemset/database/)的免费数据库练习题。
175.组合两个表
表:Salary
列名 | 类型 |
---|---|
id | int |
name | varchar |
sex | ENUM |
salary | int |
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
能运行就行。