平成27年秋期 午後問3  データベースについて

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
ぱるむさん  
(No.1)
設問2の選択肢(エ)に関してなのですが、「 = any」のところは、「in」にしても同じ結果が返ってくるのでしょうか。

2020.03.05 21:10
QMさん 
FE ゴールドマイスター
(No.2)
同じはずです。
ANY の場合は不等号も使えるのが IN との違いですが、等号だけなら IN と同じ。

ところで、この問題の解説を見ると、ウとエが逆になっているようです。
後半部分、ウが同梱部品、エが部品番号で、部品番号のほうが正しい答です。
->管理人さん、修正お願いします。
2020.03.06 10:36
管理人 
(No.3)
ご報告ありがとうございます。
解説を読み返してみたところ、わかりにくいと感じたので設問2の後半部分を以下のように書き直しました。

=================================================
残る「ウ」と「エ」ですが、次のように考えます。
この副問合せでしたいことは、パッケージ表から同梱部品に'007551'を含むレコードの部品番号(パッケージ番号)のリストを抽出することです。このリストを出荷表の部品番号とANYで比較することで、そのパッケージがリコール対象であるかどうかの判別を行います。ANYは、値リストのそれぞれと比較して、いずれかが真ならば真を返す演算子です。

パッケージ表からリコール対象の部品番号のリストを得るには、WHERE句に「同梱部品 = '007551'」を指定することで、同梱部品が'007551'であるレコードを選択し、「SELECT 部品番号」で、そのレコードの部品番号列を抜き出すことになります。

したがって「エ」のSQL文が適切とわかります。
=================================================
2020.03.06 11:31
QMさん 
FE ゴールドマイスター
(No.4)
ああそうか、逆ではなく、半分(WHEREのほう)しか説明されていなかったんですね。
私はSELECTのほうを見て判定していました。
修正ありがとうございます。
2020.03.06 11:46
ぱるむさん  
(No.5)
ありがとうございます!
2020.03.06 14:35

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。

その他のスレッド


Pagetop