基本情報技術者試験 科目 A — SQL 練習問題 第 13 問 / 14
UPDATE の対象になる行|基本情報 SQL
「商品」表に対して次の SQL を順に実行したとき、最後の SELECT で得られる結果はどれか。
この問題で使う表
商品
| 商品番号 | 商品名 | 分類 | 単価 |
|---|---|---|---|
| P01 | ボールペン | A | 120 |
| P02 | ノート | A | 200 |
| P03 | 消しゴム | B | 80 |
| P04 | 定規 | B | 150 |
| P05 | ホチキス | C | 500 |
5 行
UPDATE 商品 SET 単価 = 単価 * 2 WHERE 分類 = 'B';
SELECT 商品番号, 単価 FROM 商品解答を選ぶ
解説
正解: ア
| 商品番号 | 単価 |
|---|---|
| P01 | 120 |
| P02 | 200 |
| P03 | 160 |
| P04 | 300 |
| P05 | 500 |
WHERE 分類 = 'B' があるので、更新されるのは消しゴム (P03) と定規 (P04) の 2 行だけです。
80 × 2 = 160、150 × 2 = 300 になります。他の行は変わりません。
UPDATE は行を消さないので、その後の SELECT では 5 行すべてが返ります。ウのように更新した行だけになることはありません。
エは 2 回適用した場合の値です。SET の右辺は更新前の値で評価されるので、連鎖して増えることはありません。
引っかけの正体
UPDATE した行だけが SELECT で返ると思ってしまう
この問題のもとになっている解説: INSERT・UPDATE・DELETE — 表を書き換える
データベース分野をもっと学ぶ(おすすめ書籍)
キタミ式イラストIT塾 基本情報技術者 令和08年
きたみりゅうじ
イラスト主体で科目Aの全範囲を通読できる入門書。用語の土台を作ってから科目Bのアルゴリズムに入ると理解が速い。
Amazon で見る →
令和08年 イメージ&クレバー方式でよくわかる かやのき先生の基本情報技術者教室
栢木厚
科目Aの頻出テーマを図と語呂で押さえる入門書。参考書と問題集を兼ねるので初受験の一冊目に選びやすい。
Amazon で見る →
令和08年 基本情報技術者 パーフェクトラーニング過去問題集
山本三雄
公開問題を大量に解いて仕上げるための問題集。擬似言語の読解に慣れた後、本番形式で時間配分を試す段階で使う。
Amazon で見る →
本セクションはAmazonアソシエイトのリンクを含みます。