価格設定年月日にNULLを含む“商品”表に対して、次の問合せを行った。
この検索結果の行数は幾つか。
SELECT 商品コード FROM 商品 WHERE 価格設定年月日 < '2011-12-01'
商品
商品コード |
商品名 |
価格 |
価格設定年月日 |
S001 |
ボールペン |
150 |
2009-12-31 |
S002 |
消しゴム |
80 |
2008-03-31 |
S003 |
蛍光ペン |
0 |
NULL |
S004 |
定規 |
300 |
2011-12-01 |
|
答え イ
【解説】
行を選択する条件文は『価格設定年月日 < '2011-12-01'』であり、
- S001の価格設定年月日の'2009-12-31'は'2011-12-01'より小さいので選択される。
- S002の価格設定年月日の'2008-02-31'は'2011-12-01'より小さいので選択される。
- S003の価格設定年月日の'NULL'と'2011-12-01'の比較結果はNULLになるので選択されない。
- S004の価格設定年月日の'2011-12-01'は'2011-12-01'より大きいので選択されない。
したがって、検索結果の行数は 2行(イ)になる。
【キーワード】
・SQLのNULL値
【キーワードの解説】
- SQLのNULL値
SQLにおいてNULLは特殊な値であり、“データが存在しない”という意味で、比較を行うとその結果は必ず「偽」(false)になります。
また、四則演算にNULLがあると結果は「NULL」になります。
もっと、「SQLのNULL値」について調べてみよう。
戻る
一覧へ
次へ
|