以下のSQL文を実行したとき、NULL値を含む行はどのように並びますか。
SELECT employee_id, commission_pct
FROM employees
ORDER BY commission_pct;
以下のSQL文を実行したとき、NULL値を含む行はどのように並びますか。
SELECT employee_id, commission_pct
FROM employees
ORDER BY commission_pct;Acommission_pct がNULLの行は結果の先頭に並ぶ
Bcommission_pct がNULLの行は結果の末尾に並ぶ✓
CNULLを含む行はエラーになり結果に含まれない
DNULLの行は0として扱われ先頭付近に並ぶ
解説正答:B
ORDER BY で並び順(ASC / DESC)を省略すると 昇順(ASC) になります。Oracle Database では、ソート時のNULLの扱いに既定値があります。
NULLの既定の並び位置:
| ソート順 | NULLの既定位置 |
|---|---|
| 昇順(ASC) | 末尾(NULLS LAST) |
| 降順(DESC) | 先頭(NULLS FIRST) |
今回は commission_pct を昇順でソートしているため、NULLの行は末尾に並びます。