—条件表达式
—条件表达式通用写法mysql oracle通用
—给emp表中员工起中文名
—else可以省略, end不能省略
SELECT e.ename,
case e.ename
when ‘SMITH’ then ‘张三’
when ‘ALLEN’ then ‘李四’
when ‘WARD’ then ‘王五’
else ‘无名’
end
from emp e;
—判断emp表中员工工资,如果高于3000显示高收入,
—如果低于3000高于1500显示中等收入
—其余显示低收入
SELECT emp.SAL,
case
when emp.SAL>3000 then ‘高收入’
when emp.SAL>1500 then ‘中等收入’
else ‘低收入’
end
from emp;
—oracle中除了起别名,都用单引号
—oracle专用条件表达式
SELECT e.ename,
decode(e.ename,‘SMITH’ , ‘张三’,
‘ALLEN’ , ‘李四’,
‘WARD’ , ‘王五’,
‘无名’) “中文名”
from emp e;