需要网站建设的是哪一类人,做网站 php asp.net jsp,互联网网站开发服务合同,WORDPRESS微信订阅号采集大家好#xff0c;我是空空star#xff0c;本篇带大家了解一道简单的力扣sql练习题。 文章目录前言一、题目#xff1a;627. 变更性别二、解题1.正确示范①提交SQL运行结果2.正确示范②提交SQL运行结果3.正确示范③提交SQL运行结果4.正确示范④提交SQL运行结果5.其他总结前言… 大家好我是空空star本篇带大家了解一道简单的力扣sql练习题。 文章目录前言一、题目627. 变更性别二、解题1.正确示范①提交SQL运行结果2.正确示范②提交SQL运行结果3.正确示范③提交SQL运行结果4.正确示范④提交SQL运行结果5.其他总结前言 一、题目627. 变更性别
Salary 表
-----------------------
| Column Name | Type |
-----------------------
| id | int |
| name | varchar |
| sex | ENUM |
| salary | int |
-----------------------
id 是这个表的主键。
sex 这一列的值是 ENUM 类型只能从 (m, f) 中取。
本表包含公司雇员的信息。
请你编写一个 SQL 查询来交换所有的 ‘f’ 和 ‘m’ 即将所有 ‘f’ 变为 ‘m’ 反之亦然仅使用 单个 update 语句 且不产生中间临时表。
注意你必须仅使用一条 update 语句且 不能 使用 select 语句。
查询结果如下例所示。
输入
Salary 表
-----------------------
| id | name | sex | salary |
-----------------------
| 1 | A | m | 2500 |
| 2 | B | f | 1500 |
| 3 | C | m | 5500 |
| 4 | D | f | 500 |
-----------------------
输出
-----------------------
| id | name | sex | salary |
-----------------------
| 1 | A | f | 2500 |
| 2 | B | m | 1500 |
| 3 | C | f | 5500 |
| 4 | D | m | 500 |
-----------------------
解释 (1, A) 和 (3, C) 从 ‘m’ 变为 ‘f’ 。 (2, B) 和 (4, D) 从 ‘f’ 变为 ‘m’ 。
二、解题
1.正确示范①
提交SQL
update Salary
set sex case when sexf then m
else f end ;或者
update Salary
set sex case when sexm then f
else m end ;运行结果 2.正确示范②
提交SQL
update Salary
set sexif(sexf,m,f);或者
update Salary
set sexif(sexm,f,m);运行结果 3.正确示范③
提交SQL
update salary
set sex char(ascii(sex) ^ ascii(m) ^ ascii(f));或者
update Salary
set sex char(ascii(m) ascii(f) - ascii(sex));运行结果 4.正确示范④
提交SQL
update salary
set sex replace(fm, sex, );运行结果 5.其他 总结 正确示范①思路 使用 case when 语句将f和m进行转换 case when sexf then m else f end 正确示范②思路 使用 if 语句将f和m进行转换 if(sexf,m,f) 正确示范③思路 先通过ascii将字符转换成ASCII码值计算完成后再通过char转换成字符 char(ascii(m) ascii(f) - ascii(sex)) 正确示范④思路 使用replace语句将fm中存在的值(sex)替换为空 replace(fm, sex, )