
sql的update...case...when与update...in....这两段语句的哪个执行效率高???
updatereadersetclass=(casedepidwhen3then'教师'when4then'学生'when5then'学生'when6then'学生'wh...
update reader set class =
(
case depid
when 3 then '教师'
when 4 then '学生'
when 5 then '学生'
when 6 then '学生'
when 7 then '学生'
when 8 then '学生'
else '其他'
end
); ---(所影响的行数为 1191 行)
-----------------------------------------------------------
update reader set class = '教师' where depid in(3)
update reader set class = '学生' where depid in(4,5,6,7,8)
update reader set class = '其他' where depid not in(3,4,5,6,7,8)
/*
(所影响的行数为 93 行)
(所影响的行数为 232 行)
(所影响的行数为 866 行)
*/ 展开
(
case depid
when 3 then '教师'
when 4 then '学生'
when 5 then '学生'
when 6 then '学生'
when 7 then '学生'
when 8 then '学生'
else '其他'
end
); ---(所影响的行数为 1191 行)
-----------------------------------------------------------
update reader set class = '教师' where depid in(3)
update reader set class = '学生' where depid in(4,5,6,7,8)
update reader set class = '其他' where depid not in(3,4,5,6,7,8)
/*
(所影响的行数为 93 行)
(所影响的行数为 232 行)
(所影响的行数为 866 行)
*/ 展开
1个回答
2015-05-11
展开全部
case when then 快一点,只能说一个sql麻烦点,一个sql简单点,in还不利于优化sql
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询