--9. 使用decode函数,按照下面的条件:
-- job grade
-- PRESIDENT A
-- MANAGER B
-- ANALYST C
-- SALESMAN D
-- CLERK E
-- 产生类似下面形式的结果
-- ENAME Job Grade
-- SMITH CLERK E
select ename, job, grade from emp, salgrade;
select ename ENAME, job "Job", decode(job, 'PRESIDENT', 'A',
'MANAGER','B',
'ANALYST', 'C',
'SALESMAN', 'D',
'CLERK', 'E',
'')
as "Grade"
from emp,salgrade;
select grade from salgrade;
--10. 将第9题的查询用case函数重新实现。
select ename "ENAME", job "Job",
case job when 'PRESIDENT' then 'A'
when 'MANAGER' then 'B'
when 'ANALYST' then 'C'
when 'SALESMAN' then 'D'
when 'CLERK' then 'E'
else ''
end "Grade"
from emp;
--注:case和decode()都只是”返回一个数据(即:根据when的判断,返回then中的数据),并非更新了表中的数据"
--注:begin不能出现在select子句中,注意字符串的大小写一致,红色的""代表默认值对于decode(),那是必须滴。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/24747794/viewspace-678422/
,如需转载,请注明出处,否则将追究法律责任。