给emp表中员工起中文名
select e.ename from emp e;
select e.ename, case e.ename when \'SMITH\' then \'曹贼\' when \'ALLEN\' then \'大耳贼\' when \'WARD\' then \'诸葛小儿\' else \'无名\' end from emp e;
--条件表达式的通用写法,mysql和oracle都可用
接下来省略else
select e.ename, case e.ename when \'SMITH\' then \'曹贼\' when \'ALLEN\' then \'大耳贼\' when \'WARD\' then \'诸葛小儿\' --else \'无名\' end from emp e;
判断emp表中员工工资,如果高于3000显示高收入,如果高于1500低于3000显示中等收入,其余显示低收入
select e.sal, case when e.sal>3000 then \'高收入\' when e.sal>1500 then \'中等收入\' else \'低收入\' end from emp e;
--oracle专用条件表达式 select e.ename, decode(e.ename, \'SMITH\', \'曹贼\', \'ALLEN\', \'大耳贼\', \'WARD\', \'诸葛小儿\', \'无名\') from emp e;
--oracle专用条件表达式 select e.ename, decode(e.ename, \'SMITH\', \'曹贼\', \'ALLEN\', \'大耳贼\', \'WARD\', \'诸葛小儿\', \'无名\') 中文名 from emp e;
Oracle中,除了起别名,都用单引号\' \'