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

ITパスポート 2013年 春期 67


問題文

関係データベースの“商品”表から価格が100円以上の商品の行(レコード)だけを全て抽出する操作を何というか。
ITパスポート 2013年 春期  問67の問題画像

選択肢

結合
射影
選択(正解)

🔒 解説は解答すると表示されます

関係データベースの“商品”表から価格が100円以上の商品の行(レコード)だけを全て抽出する操作を何というか。【ITパスポート 解説】

正解の理由

価格が100円以上という「行ごとの条件」に基づいて、表(テーブル)から該当する行だけを取り出す操作は、行の選別(フィルタリング)です。関係データベースでこの操作は「選択」と呼ばれます。したがって該当する選択肢は です。
ポイント:
  • 「選択」は行(レコード)を条件で取り出す操作です。
  • 与えられた表から「価格が100以上」の行だけを残す、まさにこれが選択です。

解法ステップ

  1. 問題文で何を基準に取り出すかを確認します。
    • 条件は「価格が100円以上」。
  2. どの単位で操作するかを確認します。
    • 行(各商品のレコード)ごとに判断するので「行を選ぶ」操作です。
  3. 関係データベースの基本操作の名称と照合します。
    • 行を条件で取り出す:選択
    • 列だけを取り出す:射影(せんえい)
    • 複数表を結びつける:結合
    • 表同士を合わせる:和(和集合)
  4. よって「選択」が該当します。
実際の出力(元の表から価格が100以上の行だけを抜き出した結果):
  • S001|はさみ|200
  • S003|ノート|120
  • S005|定規|150
SQL(Structured Query Language:構造化問い合わせ言語)で書くと、次のようになります:
SELECT * FROM 商品 WHERE 価格 >= 100;
関係代数(relational algebra:関係データを扱う理論)では、選択を (シグマ)を使って次のように表します:

選択肢別の誤答解説

  • ア: 結合
    結合(join)は、複数の表をキー(例えば商品番号)で結びつけて一つの表にする操作です。今回は一つの表から条件に合う行を取り出すだけなので、結合は関係ありません。
  • イ: 射影
    射影(projection)は、列(カラム)を選んで取り出す操作です。例えば「商品名だけを一覧にする」場合が射影です。本問では「価格で行を絞る」ので射影ではありません。
  • ウ: 選択
    行ごとの条件でレコードを取り出す操作。ここでは「価格が100円以上」の行だけを抽出するので該当します。
  • エ: 和
    和(集合の和、union)は、別々の表の行を合わせる操作です(たとえば別の日の売上表を合算するなど)。条件で行を絞る問題とは異なります。

よくある誤解

  1. 「列を減らす操作(射影)と混同する」
    • 初学者は「取り出す」という語だけで射影と混同しがちです。判断基準は「何を取り出すか」:列を取り出すなら射影、行を条件で取り出すなら選択です。
  2. 「SQLのSELECT = 選択だと思い込む」
    • SQLの命令は SELECT ですが、これは列を指定する機能も行を絞る機能もあるため混乱します。関係代数での「選択」は行の抽出(SQLの WHERE に相当)です。SQLの SELECT * FROM ... WHERE ... の中で行を絞るのが選択です。
  3. 「価格が100以上か100より大きいかの境界の誤り」
    • 問題文の条件を正確に読む必要があります。今回の「100円以上」は >= 100> 100(100より大きい)と間違えないようにしましょう。

補足コラム

  • 用語のまとめ
    • レコード(row):表の1行分のデータ。例:商品一つ分の情報。
    • カラム(column/列):表の1列分の属性。例:価格、商品名。
    • 選択(selection):行を条件で取り出す操作。関係代数では 。SQLでは WHERE に相当。
    • 射影(projection):列を選んで取り出す操作。関係代数では (パイ)。SQLでは SELECT 列名 に相当。
    • 結合(join):複数の表を関連する列で結びつける操作。
    • 和(union):別の表の行を合わせる操作(重複の扱いは理論やSQLの設定で異なる)。
  • 日常例え
    • スーパーで「100円以上の商品だけ」を買い物カゴに入れてもらうイメージです。カゴに入るのは条件(価格)を満たす商品(行)だけです。これは「選択」です。

FAQ

Q1. 「選択」と「射影」は同時に行えますか?
A1. はい。実際の検索ではよく両方を組み合わせます。例:価格が100円以上の商品の名前だけを取り出す場合、行を絞る(選択)→列を選ぶ(射影)という流れになります。SQLでは SELECT 商品名 FROM 商品 WHERE 価格 >= 100; のように1行で書けます。
Q2. 関係代数の記号でどう書くのですか?
A2. 選択は (シグマ)で書きます。今回なら です。射影は 、結合は 、和は などの記号を使います。
Q3. SQLの SELECT と関係代数の「選択」は混同していいですか?
A3. 混同しない方が良いです。SQL の SELECT は「どの列を出すか」を指定する命令です。行を絞るのは WHERE で、関係代数の「選択」はこの WHERE に対応します。

関連キーワード: 関係代数、選択(selection)、射影(projection)、SQL WHERE、テーブル操作、フィルタリング、行選択、コンピュータサイエンス入門
← 前の問題へこの年度をクイズで解く次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

ITパスポート
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

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

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