情報処理安全確保支援士令和6年春期 午前Ⅱ 問21
問21
"人事"表に対して次のSQL文を実行したとき,結果として得られる社員番号はどれか。〔SQL文〕
SELECT 社員番号 FROM 人事
WHERE (勤続年数 > 10 OR 年齢 > 28)
AND 所属 = '総務部'
分類
テクノロジ系 » データベース » データ操作
正解
エ
解説
設問のSQL文は次のように処理されていきます。
- 人事表からWHERE句の条件に合致する行を選択する
- 選択された行のリストから、SELECT句で社員番号列を抜き出す
WHERE句の条件は、①勤続年数が10超または年齢が28超、かつ、②所属が総務部となっています。条件①に合致するのは社員番号1、3、4、5の行、条件②に合致するのは社員番号1、2、5の行なので、両方の条件に合致する社員番号1、5の2つの行がWHERE句で選択されます。
こうして選択された行のリストから社員番号列を抜き出すため、結果として得られる社員番号は1、5となります。したがって「エ」が正解です。