SQL SELECT文を使用したデータの取得、制限およびソート複数選択10 / 50 問

commission_pctがNULLの行が先頭に表示されるSQL文はどれですか。2つ選択してください。

SELECT employee_id, commission_pct FROM employees;

EMPLOYEE_ID  COMMISSION_PCT
------------ ---------------
100          .2
101          .4
102          .1
103
104          .3
ASELECT employee_id, commission_pct FROM employees ORDER BY commission_pct;
BSELECT employee_id, commission_pct FROM employees ORDER BY commission_pct DESC;✓
CSELECT employee_id, commission_pct FROM employees ORDER BY commission_pct NULLS FIRST;✓
DSELECT employee_id, commission_pct FROM employees ORDER BY commission_pct DESC NULLS LAST;
正解:B・C解説

Oracle DatabaseではNULLを「最大の値」として扱うため、並び順を指定しない場合のNULLの位置は次のとおりです。
NULLの表示位置の既定値

並び順既定のNULLの位置
昇順(ASC)最後(NULLS LAST)
降順(DESC)先頭(NULLS FIRST)

各選択肢の検討

  • A(誤):並び順を省略すると昇順になり、NULLは最後に表示されます。
  • B(正):降順の既定はNULLS FIRSTのため、NULLが先頭に表示されます。
  • C(正):昇順でもNULLS FIRSTを指定すれば、NULLが先頭に表示されます。
  • D(誤):NULLS LASTを指定しているため、NULLは最後に表示されます。

前後の問題