此处是leetcode上免费题目及答案,如有错误,欢迎指出,共同学习。
627.交换工资(简单)
给定一个 salary 表,如下所示,有 m = 男性 和 f = 女性 的值。交换所有的 f 和 m 值(例如,将所有 f 值更改为 m,反之亦然)。要求只使用一个更新(Update)语句,并且没有中间的临时表。
注意,您必只能写一个 Update 语句,请不要编写任何 Select 语句。
题解:考察case when; update用法
update salary
set sex=(
case when sex = 'f' then 'm'
when sex = 'm' then 'f'
end
)
或者 使用 if三元表达式
update salary
set sex=(
if (sex='f','m','f')
)
627.换座位(中等)
小美是一所中学的信息科技老师,她有一张 seat 座位表,平时用来储存学生名字和与他们相对应的座位 id。
其中纵列的 id 是连续递增的
小美想改变相邻俩学生的座位。
你能不能帮她写一个 SQL query 来输出小美想要的结果呢?
题解:考察case when
思路:其实就是学生的id改变了,从这个角度出发思考