- トップページ
- データベーススペシャリスト
- 平成23年度特別問題一覧
- 平成23年度特別問題5-解答・解説-分析
平成23年度特別問題
問題5
“社員番号”と“氏名”を列としてもつR表とS表に対して、差(R - S)を求めるSQL文はどれか。 ここで、R表とS表の主キーは“社員番号”であり、“氏名”は“社員番号”に関数従属する。
ア | SELECT R.社員番号,S.氏名 FROM R,S WHERE R.社員番号 <> S.社員番号 |
イ | SELECT 社員番号,氏名 FROM R UNION SELECT 社員番号,氏名 FROM S |
ウ | SELECT 社員番号,氏名 FROM R WHERE NOT EXISTS (SELECT 社員番号 FROM S WHERE R.社員番号 = S.社員番号) |
エ | SELECT 社員番号,氏名 FROM S WHERE S.社員番号 NOT IN (SELECT 社員番号 FROM R |
“社員番号”と“氏名”を列としてもつR表とS表に対して、差(R - S)を求めるSQL文はどれか。 ここで、R表とS表の主キーは“社員番号”であり、“氏名”は“社員番号”に関数従属する。
ア | SELECT R.社員番号,S.氏名 FROM R,S WHERE R.社員番号 <> S.社員番号 |
イ | SELECT 社員番号,氏名 FROM R UNION SELECT 社員番号,氏名 FROM S |
ウ | SELECT 社員番号,氏名 FROM R WHERE NOT EXISTS (SELECT 社員番号 FROM S WHERE R.社員番号 = S.社員番号) |
エ | SELECT 社員番号,氏名 FROM S WHERE S.社員番号 NOT IN (SELECT 社員番号 FROM R |
解答:ウ
<解説>
差R-SはRに存在する行からSに存在する行を除外したものである。
よって、表「R」の列「社員番号」のデータが表「S」の列「社員番号」に存在しないレコードを検索(NOT EXISTS)するウが正解である。
お問い合わせ