select ename,sal,
case when sal<=2000 then 'UNDERPAID'
when sal>=4000 then 'OVERPAID'
else 'OK'
end as status
case when sal<=2000 then 'UNDERPAID'
when sal>=4000 then 'OVERPAID'
else 'OK'
end as status
from emp
case表达式可以针对查询的返回值执行条件逻辑。可以给case表达式取别名,是结果集更容易被理解。
else字句是可选的,如果没有使用else,对于不满足判断条件的行,case表达式会返回null