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

相關文章
相關標籤/搜索