UPDATEsalariesSETsalary=CASEWHENsalary=300000THENsalary=salary*0.9WHENsalary>250000ANDsalary<280000THENsalary=salary*1.2ELSEsalary=salaryEND; 这是因为THEN语句后面应该连接的是返回值,而不是赋值语句,我这样则将第一种和第二种情况的工资都变为了0,其他情况的工资则是0. 最后再强调一下,如果CASE表达式里面没...
update someTablesetp_key=casewhen p_key='a'then'b'when p_key='b'then'a'elsep_key end where p_keyin('a','b') 案例5-case嵌套子查询 需求 通过两张表生成第三张交叉表: SQL实现 代码语言:javascript 代码运行次数:0 运行 AI代码解释 --in实现 select course_name,casewhen course_idin(selec...
代码1:使用 3 条 UPDATE 语句 --1、将 a 转为中间值 cUPDATESomeTableSETp_key='c'WHEREp_key='a';--2、将 b 转为 aUPDATESomeTableSETp_key='a'WHEREp_key='b';--3、将 c 调换为 bUPDATESomeTableSETp_key='b'WHEREp_key='c'; 代码2:使用 CASE 表达式 UPDATESomeTableSETp_key=CASEWHE...
2 ELSE salary END; --用CASE表达式调换主键值 UPDATE SomeTable SET p_key = CASE WHEN p_key ='a' THEN 'b' WHEN p_key ='b' THEN 'a' ELSE p_key END WHERE p_key IN ('a', 'b'); 表之间的数据匹配 与DECODE函数等相比,CASE表达式的一大优势在于能够判断表达式。也就是说,在CASE表达式里...
/bin/bash read -p "请输入[1-3]数字:" a case "$a" in 1) echo "1" ;; ...
SQL之CASEWHEN⽤法进阶——Update语句使⽤case更新、数据对⽐(三)前⾔ 作⽤: 可以使⽤它们在数据库进⾏判断功能,跟代码中的if...else功能⼀样.但是,它们⼜存在差异,下⾯就来讲它们的具体作⽤和差别。⼀: 使⽤语法 (⼀)普通case函数 CASE <表达式> WHEN <值1> THEN <操作> WHEN...
UPDATE Salaries SET salary = CASE WHEN salary>300000 THEN salary*0.9 WHEN salary>=250000 AND salary <280000 THEN salary * 1.2 ELSE salary END; 8. 生成交叉表 --- 使用IN谓词 SELECT course_name AS '课程名', CASE WHEN courese_id IN (SELECT course_id FROM open_course WHERE mouth = '20...
UPDATE SomeTable SET p_key ='d'WHERE p_key ='a';--2.将b调换为a UPDATE SomeTable SET p_key ='a'WHERE p_key ='b';--3.将d调换为b UPDATE SomeTable SET p_key ='b'WHERE p_key ='d';4.4. 用CASE表达式调换主键值 UPDATE SomeTable SET p_key = CASE WHEN p_key ='a'THEN...
case搜索表达式,它通过计算一组布尔表达式来确定结果。 这两种方式,都支持可选的 else参数,大部分情况下是可以实现相同的功能。 case可用于允许使用有效表达式的任意语句或子句, 例如,可以在 select、update、delete和 set等语句以及 select_list、in、where、order by和 having等子句中使用 Case。
--Update 与 Select 一起的用法 --Update 通过多表来修改数据 --- --参考写法1: updateB1setstrNum=strNum-B2.intNum wherestrIdin (selectintIdfromB2whereB2.intId=B1.strId) --参考写法2: updateB1setstrNum=strNum-B2.intNum fromB1 innerjoinB2 on...