sql 语句系列(行与列处理)[八百章之第一章]

排序时对null进行处理

好比说:
select * from EMP order by COMMcode

我须要对红框部分进行desc处理,也就是从大到小排列。blog

解析:排序

重点是如何让null独立出去。select

select * from 

(select *,case when COMM is null then 0 else 1 end as COMMISNULL from EMP )
x
order by COMMISNULL,COMM desc

解法:单独列出一列把null独立出去。im

注意null的判断是 is而不是等于号d3

依据条件逻辑动态调整排序项

好比说:db

select * from EMPimg

我但愿的是:若是job 是SALESMAN的话,那么按照COMM排序,不然SAL 排序co

解法:cas

在上面一个例子中,咱们排行是经过排除某些行,对另一个行进行处理。
而咱们这个例子是针对列的,若是是针对列的那么更为简单。

select *
from EMP
order by case when JOB='SALESMAN' then COMM else SAL end

相关文章
相关标签/搜索