​【题目】

下图表名是“班级表”,请将班级中所有的1班、2班交换,0班变为3班。要求只使用更新语句(update),不要使用select语句。

【解题思路】

1. 题目要求按条件更换列中的内容,“条件”我们想到的是sql里的case表达式。

2. case...when...的使用方法在《从零学会SQL:多表查询》里有讲过:

3. 更新语句时需要用到update语句,update语句使用方法如下:

update 表名
set 列名 = 修改后的值;

【解题步骤】

1.确定case...when...语句中的内容

第一个条件是1班换为2班,第二个条件是2班换为1班,最后剩下的0班全部变成3班,语句如下:
update 班级表
set 班级 = (case 班级when 1 then 2when 2 then 1else 3end);

查询更新完的班级表:已经更新成功。

【本题考点】

1)一般在做SQL面试题时,大部分都是使用select语句完成。但在工作中,也会经常遇到要更新数据的情况。本题考察对update语句的掌握。

2)考察如何将业务条件用case表达式写出来。

【举一反三】

1. 在遇到需要将表内某列特定值替换成其他值时,记住case表达式如何使用。

2. 本题如果只是要求查询的话,使用select语句即可:

select (上面的case表达式) from 表名

3. 需要直接更新表中的数据的情况,熟记update语句。但要注意,在使用update更新表数据前,最好先将原表备份。

4. “按条件修改表数据”的应用例题

如下图所示的salary表,有m = 男性和f = 女性的值。交换所有的f和m的值(将所有f更改为m,m改为f)。要求只使用update的语句。

参考答案:

update salary
set sex = (case sexwhen 'm' then 'f'else 'm'end);

运行结果:

推荐:如何从零学会SQL?

lamda表达式修改数据_图解sql面试题:如何按条件修改数据?相关推荐

  1. sql server 中获取前一天日期_图解SQL面试题:如何比较日期数据?

    ​[题目] 下面是某公司每天的营业额,表名为"日销"."日期"这一列的数据类型是日期类型(date). 请找出所有比前一天(昨天)营业额更高的数据.(前一天的意 ...

  2. sql having是什么意思_图解sql面试题:如何查找重复数据?

    [题目] 编写一个SQL查询,查找学生表中所有重复的学生名. [解题思路] 1.看到"找重复"的关键字眼,首先要用分组函数(group by),再用聚合函数中的计数函数count( ...

  3. 对应sql建表_图解SQL面试题:如何查找工资前三高的员工

    [题目] ​"成绩表"记录了学生的学号,学生选修的课程,以及对应课程的成绩. 为了对学生成绩进行考核,现需要查询每门课程的前3高成绩. 注意:如果出现并列第一的情况,则同为第一名. ...

  4. 向内存中连续存入数据_实例35_在Excel中按条件筛选数据并存入新的表

    老板想要看去年每月领料数量大于1000的数据.手动筛选并复制粘贴出来,需要重复操作12次,实在太麻烦了,还是让Python来做吧.磨刀不误砍柴工,先整理一下思路: 1. 读取原表,将数量大于1000的 ...

  5. sql计算留存_免费教程《图解SQL面试题》

    运营.产品经理.数据分析.软件开发等职位,SQL是必会的技能. 面试经常考察SQL,但是不会做,怎么办? 工作里遇到的业务问题,需要用SQL实现,怎么办? 为了帮助你解决这些问题,我写了一本免费教程& ...

  6. sql 日期间隔排查双休_免费教程《图解SQL面试题》

    运营.产品经理.数据分析.软件开发等职位,SQL是必会的技能. 面试经常考察SQL,但是不会做,怎么办? 工作里遇到的业务问题,需要用SQL实现,怎么办? 为了帮助你解决这些问题,我写了一本免费教程& ...

  7. 图解SQL面试题:经典50题

    图解SQL面试题:经典50题 已知有如下4张表: 学生表:student(学号,学生姓名,出生年月,性别) 成绩表:score(学号,课程号,成绩) 课程表:course(课程号,课程名称,教师号) ...

  8. 免费教程《图解SQL面试题》

    运营.产品经理.数据分析.软件开发等职位,SQL是必会的技能. 面试经常考察SQL,但是不会做,怎么办? 工作里遇到的业务问题,需要用SQL实现,怎么办? 为了帮助你解决这些问题,我写了一本免费教程& ...

  9. 图解SQL面试题:多表如何查询?

    图解SQL面试题:多表如何查询? 1.[题目] 现在有两个表,"学生表"记录了学生的基本信息,有"学号"."姓名". "成绩&qu ...

最新文章

  1. c语言程序设计数据输入的,1.2 C语言的发展与特点免费阅读_C语言程序设计教程免费全文_百度阅读...
  2. 杂记整理二:linux与程序安装
  3. 解决 TortoiseGit 诡异的 Bad file number 问题(转)
  4. 检测点是否在两条平行线段之间_解决最值问题的利器——垂线段最短
  5. 神策数据王磊:如何用 JS 实现页面录制与回放
  6. 网管型光纤收发器产品功能特性详解
  7. 在mysql数据库中,多表查询,事务,DCL,
  8. [古诗]有关日本留学生的那些古诗
  9. Python3.5安装与ChatterBot聊天机器人使用
  10. 在 Mac 上的登录窗口中如何打开辅助功能选项?
  11. CComPtr和 CComQIPtr用法
  12. Python新手写出漂亮的爬虫代码1——从html获取信息
  13. 车机没有carlife可以自己下载吗_论互联哪家强 Carlife/Carplay针尖对麦芒
  14. Amazon Alexa 入门实验
  15. android系统怎么连不上wifi,为什么手机连接不上wifi wifi连不上怎么办
  16. Android实现一键开启自由窗口、分屏、画中画模式——分屏模式
  17. 循环遍历时跳出循环方法汇总
  18. C语言:统计句子中元音字母的个数
  19. 阿里云IoT投入智物智造战略 三年赋能10亿设备改造10万家数字工厂
  20. IEC61850笔记--开源代码libIEC61850(一)

热门文章

  1. 迭代获取ViewState
  2. jQuery css
  3. vs2012里用easyUI,显示不正常
  4. Juniper基础系列之一---vlan的建立
  5. Delphi用ini文档实现界面无闪烁多语言转换
  6. .NET中栈和堆的比较【转自:c#开发园地】
  7. android虚拟机鼠标左键拖动会输入C
  8. [转载] JAVA泛型杂谈--擦除,协变,逆变,通配符等
  9. 在Scala中列出| 关于Scala列表的完整教程
  10. bitcount方法详解_Java Long类的bitCount()方法和示例