戦国IT - 情報処理技術者試験の過去問対策サイト
お知らせお問い合わせ料金プラン

応用情報技術者 2015年 春期 午前226


問題文

“電話番号”列にNULLを含む“取引先”表に対して、SQL文を実行した結果の行数は幾つか。
応用情報技術者 2015年 春期 午前2 問26の問題画像

選択肢

1
2
3(正解)
4

電話番号列にNULLを含む取引先表のSQL実行結果の行数【午前2 解説】

要点まとめ

  • 結論:電話番号が「010」で始まらない行は3件で、NULLは除外されるため正解はウの3件です。
  • 根拠:
    NOT LIKE '010%'
    は「010」で始まらない文字列にマッチし、NULLは比較対象外で結果に含まれません。
  • 差がつくポイント:NULLの扱いを理解し、
    LIKE
    演算子の動作と
    NOT LIKE
    の意味を正確に把握することが重要です。

正解の理由

SQL文の条件は「電話番号が'010'で始まらない」行を抽出しています。
  • A社の電話番号は「010-1234-xxxx」で「010」で始まるため除外。
  • B社は「020-2345-xxxx」で条件に合う。
  • C社はNULLで比較できず除外。
  • D社は「030-3011-xxxx」で条件に合う。
  • E社は「(010-4567-xxxx)」で「010」で始まらない文字列として条件に合う。
    よって、B社、D社、E社の3件が抽出されます。

よくある誤解

NULLは「NOT LIKE」条件にマッチしないため、結果に含まれません。NULLを含む行が条件に合うと誤解しやすいです。

解法ステップ

  1. SQLの
    LIKE
    NOT LIKE
    の意味を確認する。
  2. 電話番号列の各値が「010」で始まるかどうかを判定する。
  3. NULLは比較できず、条件に合わないため除外されることを理解する。
  4. 条件に合う行数をカウントする。

選択肢別の誤答解説

  • ア: 1件は「010」で始まらない行が1件だけと誤認。実際は3件ある。
  • イ: 2件はNULLを含めてカウントしなかったか、E社の電話番号を誤認。
  • ウ: 3件は正しくB社、D社、E社をカウントしている。
  • エ: 4件はNULLを含めてカウントした誤り。NULLは比較対象外で除外される。

補足コラム

SQLにおけるNULLは「不明な値」を意味し、比較演算子では常にFALSEまたはUNKNOWNとなります。
LIKE
NOT LIKE
もNULLに対してはFALSE扱いとなり、結果セットに含まれません。NULLの扱いはSQLの基本であり、試験でも頻出のポイントです。

FAQ

Q: NULLは
NOT LIKE
の条件に合致しますか?
A: いいえ、NULLは比較できないため条件に合致せず、結果に含まれません。
Q: 電話番号が「(010-4567-xxxx)」の場合、
NOT LIKE '010%'
はどう判定されますか?
A: 「(」が先頭のため「010」で始まらず、条件に合致します。

関連キーワード: SQL, NULL, LIKE演算子、NOT LIKE, データベース、条件検索
← 前の問題へ次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

応用情報技術者
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてプライバシーポリシー利用規約特商法表記開発者について