トップページ >  Oracle SQL >  NULLS FIRTSTとNULLS LAST
初版2007/01/26: 最終更新日2007/01/26
  NULLS FIRTSTとNULLS LAST
NULLS FIRTSTとNULLS LAST
order by句で列を指定してソートすると、デフォルトではNULLのデータは最後にソートされます。
NULLのデータを最初に持ってきてソートしたい場合はorder by句で列指定後、 NULLS FIRST を指定するとNULLのデータが最初にselectされその後NOT NULLのデータがソートされます。
以下のようなデータがあるとします。

NULLS FIRTSTとNULLS LAST
NULLS FIRTSTとNULLS LAST

上図のようなデータがあるとします。
このデータに対して以下のSQLを発行します。

select   pn,order_no
from     parts_tbl
order by order_no nulls first;

すると、検索結果は以下のようになります。

NULLS FIRTSTとNULLS LAST
NULLS FIRTSTとNULLS LAST

逆にまずNOT NULLのデータをソートし、最後にNULLのデータを持ってきたい場合 NULLS LAST を指定して以下のSQLを発行します。

select   pn,order_no
from     parts_tbl
order by order_no nulls last;

すると、検索結果は以下のようになります。

NULLS FIRTSTとNULLS LAST
NULLS FIRTSTとNULLS LAST

ちなみにNULLを先頭に持ってきてNOT NULLのデータは降順にソートしたい場合は以下のようなSQLを発行します。

select   pn,order_no
from     parts_tbl
order by order_no desc nulls first;

検索結果は以下のようになります。

NULLS FIRTSTとNULLS LAST
NULLS FIRTSTとNULLS LAST