You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL UPDATE疑问:如何更新JOB_ID包含'MAN'的数据行

解决JOB_ID包含'MAN'的SQL更新问题

我懂你遇到的问题了——原来的更新语句用了精确匹配JOB_ID='MAN',但实际数据里的JOB_ID都是MK_MAN、SK_MAN这类包含'MAN'的字符串,所以精确匹配找不到对应的行,自然没法完成更新。

你只需要把条件改成模糊匹配就行,用SQL的LIKE操作符配合通配符%来实现:

UPDATE COPY_EMPLOYEES 
SET SALARY=(SELECT SALARY FROM EMPLOYEES WHERE EMPLOYEE_ID = 142) 
WHERE JOB_ID LIKE '%MAN';

简单解释下这个写法:

  • LIKE是SQL专门用于模糊字符串匹配的操作符
  • %是通配符,代表任意长度的任意字符(包括0个字符)
    • 这里的'%MAN'会匹配所有以'MAN'结尾的JOB_ID,正好对应你提到的MK_MAN和SK_MAN
    • 如果之后遇到JOB_ID中'MAN'在中间或者开头的情况(比如MANAGER、MAN_MK),可以改成'%MAN%',这样就能匹配**任何位置包含'MAN'**的JOB_ID

另外提醒你一下:要确保子查询SELECT SALARY FROM EMPLOYEES WHERE EMPLOYEE_ID = 142能返回唯一的薪资值,不然有些数据库会因为子查询返回多行而报错哦。

内容的提问来源于stack exchange,提问作者Gerald

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:18:14