平成27年度春期 問26 / 80

平成27年度 春期 応用情報技術者試験 午前 問26

“電話番号”列に NULL を含む“取引先”表に対して,SQL 文を実行した結果の行数は幾つか。

取引先

取引先コード 取引先名 電話番号
1001 A社 010-1234-xxxx
2001 B社 020-2345-xxxx
3001 C社 NULL
4001 D社 030-3011-xxxx
5001 E社 (010-4567-xxxx)

〔SQL 文〕

SELECT * FROM 取引先 WHERE 電話番号 NOT LIKE '010%'

キーボード:1〜4 で解答 → 次の問題 ← 前の問題

正解と解説を見る

正解:ウ

NOT LIKE '010%' は「010 で始まらない」行を選びます。ただし,NULL との比較結果は「不定(UNKNOWN)」になるため,NULL の行は LIKE でも NOT LIKE でも選ばれません。

各行を確認します。

  • 1001 A社:010-1234-xxxx → 010 で始まるので選ばれない
  • 2001 B社:020-2345-xxxx → 選ばれる
  • 3001 C社:NULL → 比較結果が不定なので選ばれない
  • 4001 D社:030-3011-xxxx → 選ばれる
  • 5001 E社:(010-4567-xxxx) → 先頭の文字が“(”で 010 で始まらないので選ばれる

したがって,結果の行数は 3 です。

  • ア: 1
    誤り。結果の行数3と一致しません。

  • イ: 2
    誤り。E社の電話番号は“(”で始まるため選ばれます。E社を除外すると2になりますが,正しくは3です。

  • ウ: 3
    正しい。B社,D社,E社の3行が選ばれます。

  • エ: 4
    誤り。NULL の C社も含めると4になりますが,NULL は NOT LIKE の条件でも選ばれません。


答え

ウ: 3

出典:平成27年度 春期 応用情報技術者試験 午前 問26

平成27年度春期の他の問題