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);

测试结果

相关推荐
jnrjian15 分钟前
recover database using backup controlfile until cancel 假recover,真一致
数据库·oracle
lifewange37 分钟前
java连接Mysql数据库
java·数据库·mysql
大妮哟1 小时前
postgresql数据库日志量异常原因排查
数据库·postgresql·oracle
还是做不到嘛\.2 小时前
Dvwa靶场-SQL Injection (Blind)-基于sqlmap
数据库·sql·web安全
不写八个2 小时前
PHP教程004:php链接mysql数据库
数据库·mysql·php
Dylan~~~3 小时前
深度解析Cassandra:分布式数据库的王者之路
数据库·分布式
荒川之神3 小时前
Oracle HR 模式递归函数练习(基于 employees 表)
数据库·oracle
小陈工3 小时前
2026年3月31日技术资讯洞察:AI智能体安全、异步编程突破与Python运行时演进
开发语言·jvm·数据库·人工智能·python·安全·oracle
杨云龙UP4 小时前
Linux生产环境下Oracle RMAN 备份、核查、清理与验证常用命令整理_20260330
linux·运维·服务器·数据库·oracle
橙子家4 小时前
关于列式存储(Column-base Storage)的几个要点解读
数据库