Sql 使用“解码”来说明表值的类别

Sql 使用“解码”来说明表值的类别,sql,database,oracle11g,Sql,Database,Oracle11g,任务 打印所有员工编号、姓名和工资。使用“薪资”还可以根据以下条件打印类别:如果薪资低于900,则打印低;如果薪资低于1500,则打印中等;如果薪资高于1500,则打印高 尝试查询 select ename ,sal , decode ( sign (sal - 900) , -1 , 'Low' , 1 ,'Medium' ) from emp; 我的课程老师告诉我们用解码函数写一个查询 Q)如何通过使用解码功能实现这一点使用案例时: SELECT empno, ename, sal,

任务

打印所有员工编号、姓名和工资。使用“薪资”还可以根据以下条件打印类别:如果薪资低于900,则打印低;如果薪资低于1500,则打印中等;如果薪资高于1500,则打印高

尝试查询

select ename ,sal , decode ( sign (sal - 900) , -1 , 'Low' ,
1 ,'Medium'   ) from emp;
我的课程老师告诉我们用解码函数写一个查询


Q)如何通过使用解码功能实现这一点

使用
案例时

SELECT empno, ename, sal,
    CASE WHEN sal < 900 THEN 'LOW'
         WHEN sal < 1500 THEN 'MEDIUM'
         ELSE 'HIGH'
    END AS category
FROM emp 
选择empno、ename、sal、,
当sal<900时,则为“低”
当sal<1500时,则为“中等”
否则“高”
以类别结束
来自emp

使用解码功能

select ename ,sal , decode ( sign (round((sal - 900)/600 - 0.5 )) , -1 , 'Low' ,
1 ,'High' , 0 , 'Medium'  ) as "Salary Status"  from emp;

学校作业?向我们显示表定义、示例表数据、预期结果以及您当前的查询尝试。解码?这是一个
案例
…我正在使用oracle的示例数据库(Emp、dept、salgrade)