SQL-每日一题【627. 变更性别】

题目

Salary 表:

请你编写一个 SQL 查询来交换所有的 'f' 和 'm' (即,将所有 'f' 变为 'm' ,反之亦然),仅使用 单个 update 语句 ,且不产生中间临时表。

注意,你必须仅使用一条 update 语句,且 不能 使用 select 语句。

查询结果如下例所示。

示例 1:

解题思路

1.题目要求我们将性别进行变更,也就是交换所有的 'f' 和 'm' 。并且不可以用 select 语句,那我们就利用 update 和 case 函数去实现。

2.我们先利用 case 函数 将性别为 'm' 的变为 'f' ,性别为'f'的变为 'm',然后更新到 salary 表的 sex 属性中即可。

代码实现

sql 复制代码
update salary 
 set sex = ( 
     case sex when 'm' then 'f' else 'm' end);

测试结果

相关推荐
LSL666_2 小时前
1 概述及简单登录(不涉及数据库)
数据库·servlet
q***06475 小时前
MySQL的UPDATE(更新数据)详解
数据库·mysql
8***B5 小时前
MySQL性能
数据库·mysql
q***72196 小时前
oracle使用PLSQL导出表数据
数据库·oracle
数据库生产实战6 小时前
Oracle DG备库日志切换解析,Private strand flush not complete如何理解?(基础知识)
数据库·oracle
百***75746 小时前
从 SQL 语句到数据库操作
数据库·sql·oracle
i***39586 小时前
SQL 注入详解:原理、危害与防范措施
数据库·sql·oracle
m***56727 小时前
Win10下安装 Redis
数据库·redis·缓存
Warren987 小时前
Python自动化测试全栈面试
服务器·网络·数据库·mysql·ubuntu·面试·职场和发展
kka杰9 小时前
MYSQL 表的增删查改-更新/删除
数据库·mysql